27
13
28
24
389
37
250
664
32
79
142
83
-95
-37
1064
-132
88
123
455
27
-9
72
-4
158
24
64
47
43
77
285
2
212
-76
0
-10
-39
0
0
-1
264
279
0
-9
76
0
-110
54
0
0
0
0
41
0
0
50
0
0
0
0
0
0
0
0
0
0
0
12
234
0
0
-88
0
0
0
-12
300
0
0
64
0
0
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
-3
0
0
0
-7
-251
295
0
-127
-174
0
142
8
0
111
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
-27
59
0
-16
14
0
0
0
0
106
0
0
-8
0
0
269
0
0
0
0
0
0
0
0
0
0
0
-90
87
0
0
-25
0
0
0
0
79
0
0
205
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
66
0
0
10
148
205
0
-35
-51
0
-137
-22
0
0
0
0
99
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
162
217
0
0
13
104
0
0
-33
45
0
0
7
166
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-1
0
0
0
-50
300
0
0
-44
0
0
92
41
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
104
226
0
71
90
0
0
0
0
223
0
0
88
0
0
45
-28
0
0
0
0
0
0
0
0
0
0
-109
-15
0
0
-15
0
0
0
0
-18
0
0
3
-50
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
171
0
0
35
0
0
0
-8
210
0
0
-29
135
0
0
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-11
140
0
0
-24
147
0
0
-14
146
0
0
34
130
0
-70
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
207
0
0
-23
219
0
0
-19
-296
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
284
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
58
0
0
179
10
0
0
0
0
-72
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
-77
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
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
-96
0
0
0
-29
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
-14
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-97
0
0
3
0
0
0
0
-128
0
0
-17
-19
0
0
67
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
37
104
0
0
5
0
0
0
35
26
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
2
0
0
0
-211
0
0
0
18
-154
0
0
59
0
0
-10
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-86
0
71
-31
0
0
0
0
-61
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-42
0
0
0
0
0
0
0
31
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
55
0
0
0
0
0
0
6
120
0
0
-5
37
0
-19
33
0
0
0
0
26
0
0
45
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
22
-41
0
0
0
-37
0
0
0
-59
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
49
0
0
7
0
0
0
14
-60
0
0
1
0
0
24
-54
0
0
0
0
-105
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
-34
-170
0
-38
-97
0
0
0
0
-109
0
0
-37
-288
0
72
-85
0
0
0
0
0
0
0
-69
0
0
-84
-175
0
0
-70
-221
0
0
0
-107
0
0
22
-132
0
0
47
-180
0
0
0
-95
0
0
0
-164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-16
0
0
-43
-17
0
0
-27
120
0
0
2
14
0
67
47
0
0
0
0
40
0
0
22
-61
0
-11
0
0
0
0
0
0
0
0
-51
-1
0
0
-7
-101
0
0
10
-27
0
0
5
-91
0
112
-5
-184
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
21
-54
0
0
0
-162
0
0
7
0
0
0
5
5
7
-37
8
62
12
-35
-48
-12
23
23
1
50
10
669
7
-536
0
4
3
0
0
0
1
0
0
0
0
48
15
20
10
12
89
22
-6
0
55
-11
28
1239
30
27
35
33
47
30
56
37
66
51
72
29
81
29
47
0
0
124
16
64
0
0
0
0
0
0
0
0
0
0
0
0
10
5
6
0
78
18
14
8
12
7
6
0
0
0
0
0
0
122
45
29
20
5
11
4
75
11
-84
11
57
62
33
0
27
8
19
23
581
143
1583
-18
34
40
919
-2
80
62
48
190
89
291
312
169
32
83
72
115
72
43
135
220
189
191
266
272
257
149
127
166
90
81
255
253
423
473
362
423
170
-2
35
-12
36
15
10
3
33
90
1
475
16
82
35
115
97
85
-4
-3
152
223
388
20
15
11
27
95
122
244
329
329
11
44
75
47
0
63
74
44
40
26
17
8
-2
-6
-18
-22
-35
-41
-9
12
7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-41
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
517
616
623
610
400
2877
1504
1504
1504
1504
1504
1504
1504
1504
1504
1504
0
5
5
4
0
4
8
3
2
7
6
11
1
17
10
12
13
7
10
11
0
51
10
9
9
8
13
8
6
5
9
11
0
5
5
5
12
33
0
9
1
6
7
8
3
14
26
18
7
8
7
9
0
1
24
0
5
10
17
29
8
0
4
15
0
5
2
5
0
4
3
3
2
55
8
11
0
0
11
10
6
14
53
6
2
1
8
7
12
25
1
2
7
13
7
24
0
1
5
3
4
1
8
8
2
7
7
9
0
27
5
23
6
8
6
9
25
29
0
13
7
53
12
13
5
5
1
6
1
6
3
3
1
6
0
4
1
11
4
21
0
4
1
9
7
7
21
9
3
5
2
48
6
14
8
8
10
36
13
25
1
3
5
6
0
8
3
5
0
2
5
10
1
12
46
6
4
13
6
11
7
29
22
30
6
14
9
46
43
30
34
23
9
10
52
4
5
10
5
8
11
23
21
16
5
12
27
14
7
6
8
11
3
5
13
16
9
15
8
13
12
39
20
50
9
12
12
10
2
0
0
7
8
15
8
53
53
0
0
51
9
12
31
15
23
11
6
10
15
21
23
27
6
24
7
51
0
2
7
7
0
13
5
4
2
6
7
9
0
10
12
9
7
12
10
11
0
30
47
9
8
19
17
15
3
0
3
10
1
7
5
4
1
5
5
5
0
8
10
9
3
7
6
9
7
6
21
7
7
7
6
11
4
14
16
22
6
9
11
11
0
3
5
5
0
0
3
2
2
14
9
9
0
25
11
5
4
12
11
8
0
0
1
6
13
49
7
14
2
22
8
34
0
6
5
4
0
3
1
3
5
10
51
11
2
6
7
11
4
5
13
5
4
7
5
11
5
52
10
11
7
13
9
11
3
5
5
8
0
2
0
3
0
8
8
54
6
4
1
10
9
6
21
13
5
13
20
10
9
11
15
53
51
8
4
22
1
5
5
7
2
4
7
5
0
0
6
7
3
6
9
9
5
50
9
18
4
6
11
11
10
51
10
49
10
10
15
15
8
12
12
10
4
10
0
7
9
8
17
14
6
22
19
6
11
14
18
17
4
6
47
10
12
14
20
21
11
53
50
45
5
6
6
8
3
5
5
7
6
5
10
27
4
8
10
9
10
2
7
27
7
8
11
15
23
29
29
29
10
12
14
27
0
6
11
2
0
0
6
5
0
2
1
0
1
0
2
5
6
7
8
9
10
11
0
63
75
40
45
50
55
60
65
0
9
2
17
6
8
10
23
113
51
13
12
31
40
74
20
11
34
60
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
150
350
600
0
1
1
5
8
13
23
6
77
1
1
4
9
34
5
81
1
3
4
8
16
77
81
0
40
1
4
4
78
42
164
19
1
-61
-14
-18
3
8
30
15
-178
-13
-20
1
10
-11
19
-16
-34
-21
-14
-11
0
18
33
0
-57
-15
-4
9
1
8
4
29
27
-6
-4
-18
-11
17
8
-1
39
-23
14
2
11
22
20
40
70
-15
-8
-9
19
24
25
35
79
-5
-8
11
22
27
41
51
63
10
18
-11
-58
-65
-113
-70
-94
32
27
18
-22
-48
-39
-45
-60
21
18
5
-27
-62
-80
-84
-35
-2
20
9
-17
-69
-105
-57
-123
-72
-43
-22
12
46
81
46
-70
-46
-29
-14
22
72
108
110
48
-46
-24
-2
31
84
136
138
93
-50
-23
-1
31
86
139
136
110
-7
24
0
3
-17
-8
-36
-47
-3
10
10
-7
-10
-15
-45
-30
-17
7
-4
-12
-6
-26
-51
-80
-13
-11
-2
1
0
1
-4
-60
-12
-11
-5
-24
0
4
27
17
-3
-7
0
7
8
25
35
30
-1
0
9
14
15
21
29
43
0
9
17
15
24
20
19
36
-13
-25
-26
-22
-11
4
23
64
-6
-17
-20
-20
-10
14
9
60
-6
-11
-20
-18
2
18
30
66
-2
-9
-14
-17
0
28
35
65
-12
-10
1
14
37
49
35
29
-6
-4
10
27
46
49
45
36
4
4
16
30
42
50
39
35
-7
-3
4
19
34
38
34
28
5
-4
-4
-14
-14
-24
-22
43
-1
6
-1
-9
-18
-8
-38
42
2
11
-1
-8
-8
-22
-23
25
4
9
1
-14
-28
-24
-43
20
-28
-15
3
26
31
33
55
46
-32
-21
11
26
47
42
70
52
-35
-22
12
28
40
60
74
71
-29
-17
9
31
59
61
90
71
-1
-26
-15
-18
-13
-29
-76
-15
-7
-4
0
1
6
-4
-60
-5
0
-28
-16
12
-4
24
-29
0
5
-17
-5
14
18
31
-9
5
8
9
-6
7
26
72
171
0
1
12
4
10
20
64
144
0
0
28
12
0
23
47
138
0
0
43
14
6
7
44
126
-9
0
2
4
6
8
10
12
15
18
21
25
29
33
38
44
50
56
63
71
80
89
99
110
122
135
148
163
179
196
213
232
252
274
297
320
346
372
400
430
461
494
528
563
601
640
681
723
768
814
862
912
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
8
9
10
11
13
14
15
16
18
19
20
21
23
24
25
26
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
0
4
15
24
36
42
54
72
81
90
99
108
117
126
135
144
148
152
156
160
164
168
172
175
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
3
0
18
39
55
76
98
9
8
17
15
58
10
13
32
28
34
15
25
26
52
75
16
33
39
62
119
15
-58
-56
-41
-11
12
40
98
66
73
86
123
59
71
168
216
64
155
195
265
197
274
282
327
-103
-68
-47
-25
-10
-23
-77
-163
-65
-82
-27
-3
21
-1
-38
-65
-47
-25
3
30
53
58
-14
-9
-53
-19
-1
31
68
98
10
-34
-73
-63
-37
-26
-32
-36
-65
-79
-53
-32
-12
10
3
-14
-36
-40
-22
-2
1
23
14
8
-6
-29
-28
-3
19
21
19
1
-7
-32
40
22
-5
-6
-21
0
-32
-20
31
4
-35
-45
-40
-28
-60
-64
10
-16
-66
-64
-60
-65
-77
-56
16
-59
-71
-64
-65
-58
-97
-59
-71
-58
-32
-25
-19
-28
-19
-44
-58
-22
-2
5
7
7
15
-8
-45
-14
9
16
17
12
11
-18
-50
6
21
27
25
18
18
-12
-43
-24
-15
-20
-7
2
-26
-57
-44
-5
-5
2
2
3
6
-42
-17
-12
-4
7
8
14
34
-27
-32
-1
-4
12
29
12
-7
-19
-14
-12
-14
-6
-11
-19
-18
-17
-9
-7
-2
1
1
-6
-8
-11
-20
0
7
7
4
2
-10
-10
-7
-1
9
13
9
1
-2
-9
-9
-24
-19
-20
-16
-11
36
17
-9
-14
-13
-11
-6
-2
50
27
-4
-10
-17
-7
-5
-1
61
35
1
-7
-11
-2
0
4
77
50
6
5
4
2
0
1
7
3
4
1
-3
-5
-6
-6
-2
-8
1
0
-2
-5
-5
-5
-2
-9
8
5
2
0
0
0
0
-8
-16
-3
5
5
18
41
34
13
-17
-5
1
12
14
39
42
15
-21
-8
-8
4
17
49
59
36
-13
-9
-9
8
21
47
78
49
-33
-38
-38
-19
-23
-49
-39
-43
-28
-21
-20
-12
-1
-32
-23
-43
-19
-14
4
11
23
-5
-17
-41
-27
-8
13
25
37
-2
-23
-33
-15
-39
-33
-54
-49
-24
52
-15
-5
-28
-25
-40
-28
-9
48
-5
0
19
-7
-10
20
66
109
0
5
-7
27
32
58
89
102
5
0
17
9
21
45
100
204
0
0
6
-3
3
29
92
193
0
0
20
31
37
52
94
198
0
0
-16
-21
-3
19
65
183
0
0
0
-57
-4
0
0
0
0
0
0
0
0
0
0
0
0
-48
-3
-82
-15
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-52
-10
0
0
0
0
0
0
0
0
0
0
-27
-17
-96
8
-79
2
-2
7
0
0
0
0
0
0
0
0
-6
-10
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
4
-13
0
0
-59
-1
0
0
0
0
0
0
0
0
-26
-2
-4
-21
-87
7
-57
-5
-12
0
0
0
0
0
0
0
0
0
-10
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
35
-33
0
0
-2
-14
0
0
0
0
0
0
0
0
10
-9
49
-37
-126
3
21
-34
1
-6
0
0
0
0
0
0
0
0
-20
10
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
0
0
0
0
0
0
0
0
0
6
78
-94
12
0
0
-65
-8
-1
23
0
0
0
0
0
0
-3
1
-43
-2
-55
-2
5
-23
7
-15
0
0
0
0
0
0
0
0
-3
-2
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
-85
14
0
0
-15
-17
0
0
0
0
0
0
0
0
-21
3
-97
15
-131
8
19
-36
-24
-8
0
0
0
0
0
0
0
0
-4
-3
0
0
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
2
0
0
-24
-26
0
0
0
0
0
0
0
0
-8
1
-42
10
-28
-15
-13
-31
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-58
13
-42
-2
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
-80
-24
-59
-22
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
-91
-9
0
0
0
0
0
0
0
0
0
0
0
0
-70
-28
-40
-29
-11
4
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
-46
13
-48
-36
-41
-14
-2
-1
0
0
0
0
0
0
0
0
-33
-5
0
0
-46
-3
0
0
0
0
0
0
0
0
0
0
-59
-11
-92
3
-9
-10
-4
-2
0
0
0
0
0
0
0
0
-8
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
-1
-4
-30
-2
-96
-32
-66
0
-13
0
0
0
0
0
0
0
0
0
-49
1
0
0
-54
-5
0
0
0
0
0
0
0
0
-11
5
-66
-2
-90
1
-31
-9
-13
2
0
0
0
0
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
0
0
0
0
0
0
0
0
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
-25
-19
-162
-6
-12
-16
-1
-11
0
0
0
0
0
0
0
0
-6
-6
0
0
-4
-10
0
0
0
0
0
0
0
0
-1
-2
-34
-4
-114
7
-55
1
-9
5
0
0
0
0
0
0
0
0
7
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
-8
0
-80
1
-124
-14
-47
-14
-21
0
0
0
0
0
0
0
0
0
-26
-4
0
0
-26
-2
0
0
0
0
0
0
0
0
-10
7
-46
3
-117
10
-30
-6
-2
-8
0
0
0
0
0
0
0
0
-3
1
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
-74
-8
-110
-28
-26
-22
-18
-8
0
0
0
0
0
0
0
0
-50
-1
0
0
-43
-5
0
0
0
0
0
0
0
0
-8
0
-52
6
-118
9
-56
-5
-7
3
0
0
0
0
0
0
0
0
9
-8
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
0
0
0
0
0
0
0
0
0
0
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
-79
-7
-35
-50
-25
-21
0
0
0
0
0
0
0
0
0
0
-54
1
0
0
-24
-20
0
0
0
0
0
0
0
0
-13
-1
-58
12
-103
10
-77
-9
0
0
0
0
0
0
0
0
0
0
-6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-35
-45
-61
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
-25
7
-86
9
-87
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
-109
6
-112
2
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-160
6
0
0
0
0
0
0
0
0
0
0
0
0
-73
2
-109
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
1
0
0
0
0
0
0
0
0
0
0
-46
17
-96
-2
-83
6
-8
6
0
0
0
0
0
0
0
0
-75
-17
0
0
-94
6
0
0
0
0
0
0
0
0
0
0
-73
1
-90
12
-64
7
-4
7
0
0
0
0
0
0
0
0
-12
1
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
-14
4
0
0
-2
-10
0
0
0
0
0
0
0
0
-7
-1
-64
11
-110
-2
-59
-2
0
-5
0
0
0
0
0
0
0
0
-65
-1
0
0
-49
-7
0
0
0
0
0
0
0
0
2
2
-48
0
-65
1
-50
1
0
0
0
0
0
0
0
0
0
0
-2
3
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
-19
7
0
0
-25
7
0
0
0
0
0
0
0
0
-17
4
-26
1
-104
-6
-19
-7
-20
4
0
0
0
0
0
0
0
0
-34
-6
0
0
-30
-7
0
0
0
0
0
0
0
0
-7
3
-45
2
-70
2
-57
3
-7
0
0
0
0
0
0
0
0
0
-5
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
-25
7
0
0
-30
2
0
0
0
0
0
0
0
0
-17
7
-30
-5
-93
-7
-61
2
-9
-2
0
0
0
0
0
0
0
0
-41
-6
0
0
-58
0
0
0
0
0
0
0
0
0
8
-3
-46
2
-70
2
-46
1
3
-3
0
0
0
0
0
0
0
0
21
-8
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
-4
-4
0
0
-22
1
0
0
0
0
0
0
0
0
0
-1
-61
1
-112
-4
-59
3
6
-14
0
0
0
0
0
0
0
0
-75
3
0
0
-85
3
0
0
0
0
0
0
0
0
0
2
-39
4
-78
6
-38
-2
-4
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
0
-6
3
0
0
0
0
0
0
0
0
-3
5
-62
4
-79
-10
-9
-13
0
0
0
0
0
0
0
0
0
0
-93
7
0
0
-95
-13
0
0
0
0
0
0
0
0
8
-4
-56
9
-86
12
-63
-1
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-61
-4
-66
-15
0
0
0
0
0
0
0
0
0
0
0
0
-159
17
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-110
9
-82
5
0
0
0
0
0
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
0
0
0
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
-95
-5
-150
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
-180
6
0
0
0
0
0
0
0
0
0
0
0
0
-41
-6
-116
2
-1
9
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
15
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
-88
0
-52
-12
-81
1
-2
0
0
0
0
0
0
0
0
0
-156
-1
0
0
-114
4
0
0
0
0
0
0
0
0
0
0
-72
-2
-64
4
-89
3
31
-9
0
0
0
0
0
0
0
0
-3
7
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
-18
4
0
0
-12
4
0
0
0
0
0
0
0
0
-14
10
-59
-1
-42
-14
-62
-4
-7
3
0
0
0
0
0
0
0
0
-71
-6
0
0
-65
-6
0
0
0
0
0
0
0
0
-6
6
-36
-5
-63
-1
-37
-4
0
4
0
0
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
5
-1
-20
-6
-76
-6
-50
-4
-4
5
0
0
0
0
0
0
0
0
-44
-10
0
0
-63
-4
0
0
0
0
0
0
0
0
6
3
-38
-5
-60
0
-27
-3
5
-3
0
0
0
0
0
0
0
0
22
-7
0
0
15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
-18
0
0
0
0
0
0
0
0
0
-8
11
-30
-7
-67
-9
-60
2
0
-6
0
0
0
0
0
0
0
0
-45
-10
0
0
-60
-2
0
0
0
0
0
0
0
0
7
4
-18
-6
-18
-6
-37
-4
11
2
0
0
0
0
0
0
0
0
9
1
0
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
-14
3
0
0
-25
-5
0
0
0
0
0
0
0
0
0
0
-57
-5
-54
-14
-79
3
-6
0
0
0
0
0
0
0
0
0
-78
-6
0
0
-67
-2
0
0
0
0
0
0
0
0
19
-5
-37
-4
-84
2
-47
-3
6
0
0
0
0
0
0
0
0
0
6
-2
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
12
0
0
0
0
0
0
0
0
-9
-1
-81
1
-111
1
-112
0
0
0
0
0
0
0
0
0
0
0
-115
3
0
0
-124
-9
0
0
0
0
0
0
0
0
24
-12
-95
2
-113
14
-53
-7
0
0
0
0
0
0
0
0
0
0
-15
-1
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
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
-8
4
-87
-3
-131
1
0
0
0
0
0
0
0
0
0
0
0
0
-162
7
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-116
8
-69
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-105
1
-127
-3
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
-212
10
0
0
0
0
0
0
0
0
0
0
0
0
-55
-2
-191
20
21
3
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
6
0
0
0
0
0
0
0
0
0
0
-129
10
-100
0
-93
1
7
-3
0
0
0
0
0
0
0
0
-142
-2
0
0
-125
-1
0
0
0
0
0
0
0
0
0
0
-62
-13
-44
3
-85
-3
-1
7
0
0
0
0
0
0
0
0
9
-2
0
0
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
6
-2
0
0
0
0
0
0
0
0
2
3
-93
7
-63
-7
-91
1
17
-5
0
0
0
0
0
0
0
0
-78
-5
0
0
-78
-3
0
0
0
0
0
0
0
0
21
0
-34
-10
-69
2
-52
-4
6
-2
0
0
0
0
0
0
0
0
14
0
0
0
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
5
-1
0
0
0
0
0
0
0
0
4
5
-61
-3
-78
-8
-69
-3
7
0
0
0
0
0
0
0
0
0
-81
-10
0
0
-43
-8
0
0
0
0
0
0
0
0
14
5
-34
-10
-53
-4
-35
-10
-20
4
0
0
0
0
0
0
0
0
5
1
0
0
-45
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
12
0
0
0
0
0
0
0
0
16
0
-35
-12
-38
-16
-73
1
-7
6
0
0
0
0
0
0
0
0
-38
-15
0
0
-66
-6
0
0
0
0
0
0
0
0
20
4
-28
-15
-53
-4
-25
-13
-11
4
0
0
0
0
0
0
0
0
22
-5
0
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
-1
1
0
0
-10
8
0
0
0
0
0
0
0
0
20
-6
-53
-8
-74
-6
-48
1
-14
3
0
0
0
0
0
0
0
0
-95
-2
0
0
-67
-2
0
0
0
0
0
0
0
0
6
2
-81
-1
-36
-1
-27
-11
-11
1
0
0
0
0
0
0
0
0
-28
3
0
0
-57
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
4
0
0
0
0
0
0
0
0
1
-1
-68
-4
-84
-5
-68
-4
0
0
0
0
0
0
0
0
0
0
-103
-6
0
0
-128
2
0
0
0
0
0
0
0
0
6
-5
-89
-1
-25
-2
-47
-20
0
0
0
0
0
0
0
0
0
0
-29
6
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
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-99
-3
-99
1
0
0
0
0
0
0
0
0
0
0
0
0
-143
2
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
-107
2
-70
1
0
0
0
0
0
0
0
0
0
0
0
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
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
-101
-1
-146
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-145
0
0
0
0
0
0
0
0
0
0
0
0
0
-133
28
-169
13
-3
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-1
0
0
0
0
0
0
0
0
0
0
-69
-5
-99
1
-94
0
19
-7
0
0
0
0
0
0
0
0
-156
4
0
0
-110
2
0
0
0
0
0
0
0
0
0
0
-155
12
-34
15
-129
8
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
16
2
0
0
0
0
0
0
0
0
1
5
-93
1
-130
0
-59
-5
15
-4
0
0
0
0
0
0
0
0
-134
3
0
0
-87
-4
0
0
0
0
0
0
0
0
1
0
-46
-3
-161
36
-90
2
-40
7
0
0
0
0
0
0
0
0
20
-4
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
29
-7
0
0
9
-3
0
0
0
0
0
0
0
0
26
0
-73
-2
-69
-6
-65
1
2
-2
0
0
0
0
0
0
0
0
-91
-4
0
0
-27
-11
0
0
0
0
0
0
0
0
18
0
-52
-5
-118
21
-79
0
-25
5
0
0
0
0
0
0
0
0
15
-2
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
30
-6
0
0
23
-4
0
0
0
0
0
0
0
0
19
0
-75
-4
-77
-9
-101
4
15
2
0
0
0
0
0
0
0
0
-81
-9
0
0
-119
5
0
0
0
0
0
0
0
0
29
-1
-56
-4
-196
38
-68
2
-28
8
0
0
0
0
0
0
0
0
13
0
0
0
-44
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
4
4
0
0
0
0
0
0
0
0
58
-17
-24
-14
-75
-11
-36
-2
27
-3
0
0
0
0
0
0
0
0
-111
-4
0
0
-47
-6
0
0
0
0
0
0
0
0
1
5
-70
-5
-97
17
-9
-9
-87
15
0
0
0
0
0
0
0
0
2
-2
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
3
-1
0
0
9
5
0
0
0
0
0
0
0
0
65
-21
-113
5
-42
-8
-52
-5
0
0
0
0
0
0
0
0
0
0
-128
8
0
0
-184
18
0
0
0
0
0
0
0
0
-30
9
-96
5
-27
22
-107
3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
49
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
2
-96
-2
-54
-8
0
0
0
0
0
0
0
0
0
0
0
0
-130
-3
0
0
0
0
0
0
0
0
0
0
0
0
-44
10
-96
-3
-88
19
0
0
0
0
0
0
0
0
0
0
0
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
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-167
10
-111
9
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-125
15
0
0
0
0
0
0
0
0
0
0
0
0
-128
21
-69
-9
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
-14
2
0
0
4
7
0
0
0
0
0
0
0
0
0
0
-120
14
-157
13
-137
18
-4
5
0
0
0
0
0
0
0
0
-96
12
0
0
-99
13
0
0
0
0
0
0
0
0
0
0
-141
7
-94
2
-105
-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
14
2
0
0
14
-3
0
0
0
0
0
0
0
0
-13
2
-168
10
-145
5
-108
4
-13
2
0
0
0
0
0
0
0
0
-83
19
0
0
-121
12
0
0
0
0
0
0
0
0
0
3
-103
11
-113
2
-119
1
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-9
0
0
0
0
0
0
0
0
-13
3
-90
0
-158
2
-74
0
-55
5
0
0
0
0
0
0
0
0
-62
3
0
0
-23
-6
0
0
0
0
0
0
0
0
0
0
-86
-5
-107
1
-124
8
-107
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
0
0
0
0
0
0
0
0
10
6
-114
4
-165
1
-44
-7
-94
16
0
0
0
0
0
0
0
0
-78
-1
0
0
-64
4
0
0
0
0
0
0
0
0
12
8
-124
14
-110
4
-97
-6
-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
15
-5
0
0
-31
10
0
0
0
0
0
0
0
0
-13
6
-84
-1
-144
1
-111
3
-21
-2
0
0
0
0
0
0
0
0
-47
-9
0
0
-42
6
0
0
0
0
0
0
0
0
2
12
-140
5
-92
4
-95
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
10
-1
0
0
65
-14
0
0
0
0
0
0
0
0
-13
0
-109
16
-116
6
-92
9
0
0
0
0
0
0
0
0
0
0
-101
11
0
0
-91
12
0
0
0
0
0
0
0
0
30
2
-74
-6
-78
6
-159
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
1
-148
20
-121
11
0
0
0
0
0
0
0
0
0
0
0
0
-103
19
0
0
0
0
0
0
0
0
0
0
0
0
48
-6
-93
-3
-54
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
0
0
0
0
0
0
0
-160
-13
1
-3
16
7
0
0
0
0
0
0
0
0
0
0
0
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
-9
3
0
0
-19
13
0
0
0
0
0
0
0
0
0
0
-72
12
-175
-6
-95
9
21
-3
0
0
0
0
0
0
0
0
-116
28
0
0
-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
3
-1
0
0
6
4
0
0
0
0
0
0
0
0
5
1
-124
3
-159
-19
-28
-22
-24
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-69
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
-20
3
0
0
0
0
0
0
0
0
-11
4
-141
5
-182
-18
-39
-12
-22
-7
0
0
0
0
0
0
0
0
-102
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
3
0
0
0
0
0
0
0
0
-24
5
-106
-2
-140
-24
-32
-8
-71
8
0
0
0
0
0
0
0
0
-28
-5
0
0
-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
-4
-3
0
0
-57
11
0
0
0
0
0
0
0
0
25
-5
-73
-2
-124
-26
-29
-1
-15
1
0
0
0
0
0
0
0
0
-49
-15
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
-22
4
0
0
-8
-6
0
0
0
0
0
0
0
0
-8
-4
-34
-1
-130
-16
-97
17
0
0
0
0
0
0
0
0
0
0
-10
-10
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
-42
10
0
0
0
0
0
0
0
0
0
0
0
0
-11
-10
-72
16
-111
-21
0
0
0
0
0
0
0
0
0
0
0
0
-124
10
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
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
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
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-7
0
0
-15
-2
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
0
0
-5
-13
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
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
-94
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-2
1
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
-5
9
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
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-2
0
0
-19
-2
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
-9
-7
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-12
-6
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
-4
-13
-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
-6
-6
0
0
-9
-9
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-16
0
0
0
0
-1
-2
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-38
-12
0
0
0
0
0
0
0
0
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
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
-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
-16
3
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
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
0
0
0
0
0
0
0
0
0
0
0
0
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
0
0
-3
-23
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
-3
-3
2
8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
22
12
0
0
12
-7
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
35
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-16
0
0
-10
-9
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
-15
-3
34
-9
-13
-6
0
0
0
0
0
0
0
0
-3
-7
0
0
23
14
0
0
-9
-4
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
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
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
-5
-4
9
-1
-10
-3
0
0
0
0
0
0
0
0
1
-2
0
0
11
7
0
0
-6
-3
0
0
0
0
1
-6
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
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
-1
-9
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
-7
-6
-8
6
-3
-10
0
0
0
0
0
0
0
0
2
-5
0
0
-11
1
0
0
2
-10
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
0
0
-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
-17
-3
-16
6
-18
-8
0
0
0
0
0
0
0
0
3
-5
0
0
-19
9
0
0
0
-9
0
0
0
0
-3
-6
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
-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
-16
0
0
0
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
-11
4
-16
-4
0
0
0
0
0
0
0
0
-10
-2
0
0
-16
10
0
0
0
0
0
0
0
0
-1
1
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
6
-4
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
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
-16
-3
0
-4
0
0
0
0
0
0
0
0
0
0
-21
-5
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
8
-10
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
26
-15
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
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
7
2
-10
-5
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
-8
-6
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
-61
-1
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
-17
-11
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
-7
6
8
-8
-4
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
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
0
0
-18
-12
0
0
0
0
0
0
-16
-3
0
0
0
0
0
0
0
0
-15
-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
-3
-3
-9
13
0
-4
0
0
0
0
0
0
0
0
-7
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
19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
0
0
-8
-7
0
0
0
0
0
0
-27
3
0
0
0
0
0
0
0
0
-1
-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
-1
-4
9
9
-5
-5
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-11
-4
0
0
0
0
-11
2
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
-48
-1
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
-19
-10
0
0
0
0
0
0
0
0
-5
-5
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
-3
-3
-2
-2
-2
-7
0
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
-3
-5
0
0
0
0
11
-5
0
0
0
0
0
0
0
0
0
0
0
-13
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
-8
-2
0
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
0
-13
1
0
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
5
-4
-1
-7
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
1
-10
0
0
0
0
-15
-2
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
-37
2
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
-7
-4
0
0
-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
-10
-4
-23
-1
1
-5
0
0
0
0
0
0
0
0
0
-1
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
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
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
-14
-10
-9
-7
0
0
0
0
0
0
0
0
0
0
3
-12
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
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
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
-15
19
-12
-5
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
-5
-4
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
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
-3
-6
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
-4
-6
-12
12
-5
-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
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-9
-3
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
-6
-6
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
-5
-3
-14
20
4
-6
0
0
0
0
0
0
0
0
-19
1
0
0
0
0
0
0
-14
-4
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
0
0
0
0
0
0
0
0
0
-35
0
0
0
-9
-9
0
0
0
0
0
0
0
0
0
0
-39
-6
0
0
0
0
-16
0
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
0
0
1
-6
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
-3
-5
-27
9
-14
-6
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
18
-8
0
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
-11
-3
0
0
0
0
0
0
0
0
0
0
9
-5
0
0
0
0
-8
-4
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-3
-7
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
12
-10
12
-5
-7
-6
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
-10
-4
0
0
0
0
11
-4
0
0
0
0
0
0
0
0
0
0
-65
3
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
-2
-3
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
-13
-1
11
-11
10
-8
0
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
8
-10
0
0
0
0
18
-4
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
-2
-4
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
1
-8
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
6
-10
4
-10
13
-10
0
0
0
0
0
0
0
0
9
-7
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
-3
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
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
3
-11
0
0
0
0
0
0
0
0
0
0
38
-11
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
-9
-2
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
-1
-2
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
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
-8
26
-10
-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
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
8
-8
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
-14
-1
2
14
-10
-4
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
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
0
0
0
0
-1
-2
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
-4
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
2
-6
-11
16
-10
-4
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-9
1
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
-7
-3
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
0
0
-4
-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
-27
-2
-8
17
-21
-3
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
-48
4
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
-73
4
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
20
-8
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
0
24
-10
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
-6
-2
-6
14
-10
0
0
0
0
0
0
0
0
20
-6
0
0
0
0
0
0
-36
0
0
0
0
0
21
-12
0
0
0
0
0
0
0
0
0
0
38
-14
0
0
8
-4
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
13
-10
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
17
-11
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
-1
-10
6
-8
-34
-2
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-76
3
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
56
-20
-13
-10
-4
-7
0
0
0
0
0
0
0
0
26
-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
-13
-4
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
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
-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
-26
-2
-9
1
0
0
0
0
0
0
0
0
0
0
-34
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
-10
-2
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
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
24
-8
0
0
0
0
0
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
18
-9
0
0
0
0
0
0
0
0
0
0
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
-53
-5
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
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
-10
-1
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-6
11
1
-8
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
3
-1
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
8
-8
0
0
0
0
-3
-2
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
0
0
13
-7
0
0
35
-12
0
0
0
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
11
5
3
-7
0
0
0
0
0
0
0
0
-8
-6
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
-6
-2
-3
4
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
3
-4
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
9
-6
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
6
-8
6
-4
7
-7
0
0
0
0
0
0
0
0
-7
-7
0
0
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
8
-2
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
-31
5
0
0
0
0
4
-6
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
14
-10
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
-17
-6
3
-1
-19
-6
0
0
0
0
0
0
0
0
-20
-4
0
0
0
0
0
0
-33
-3
0
0
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-8
0
0
0
0
0
0
-32
-2
0
0
0
0
0
0
0
0
-9
-5
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
-57
1
-16
-6
-77
5
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-9
-6
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
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
-65
-1
-5
-9
-113
5
0
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-11
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
-8
-7
-20
-8
0
0
0
0
0
0
0
0
0
0
42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
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
-11
-1
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
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
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
-4
-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
29
-9
0
0
0
0
0
0
0
0
-32
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
7
-4
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
-2
-10
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
-4
-5
0
0
0
0
-16
1
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
4
-4
0
0
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
-1
-6
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
7
-7
0
0
0
0
0
0
14
-10
0
0
0
0
0
0
0
0
-4
-7
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
-6
-4
0
0
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-16
-7
0
0
0
0
6
-5
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
-2
-6
0
0
38
-16
0
0
0
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
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
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
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-9
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
1
-5
0
0
-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
-6
-8
0
0
-44
-3
0
0
-5
-10
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
-4
-3
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
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
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
12
-11
0
0
24
-14
0
0
31
-16
0
0
0
0
0
0
0
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
0
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
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
0
0
0
0
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
0
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
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
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
20
-11
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
-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
-38
-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
-12
-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
6
0
0
0
0
0
0
0
0
0
-16
-8
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
-7
-6
0
0
0
0
-30
1
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
-25
-2
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
-5
-9
-18
0
0
0
0
0
0
0
0
0
0
0
7
-11
0
0
0
0
-12
-2
0
0
0
0
0
0
33
-11
0
0
0
0
0
0
0
0
-5
-5
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
-5
-5
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
-22
-6
0
0
0
0
-2
-4
0
0
0
0
0
0
-17
-6
0
0
0
0
0
0
0
0
-4
-7
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
-3
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
-5
-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
-5
-5
0
0
0
0
0
0
0
0
-51
0
0
0
-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
-2
-4
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
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
0
0
-53
-18
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
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
3
19
0
20
-6
14
9
-4
35
-19
24
-4
-3
-3
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
-2
-7
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
-6
-8
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
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
-2
16
-7
14
-11
11
2
-2
29
-16
31
-8
0
0
-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
-6
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
0
-7
5
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
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-7
4
0
0
-12
7
-14
2
-8
-8
21
-23
21
-13
0
0
0
0
-6
3
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
-6
4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
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
-9
11
-10
9
-8
10
0
0
-10
2
-11
-2
15
-11
22
-5
0
0
0
0
0
0
-7
2
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
-6
6
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
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
6
0
0
0
0
0
0
0
0
-4
13
-3
12
-6
15
-6
12
0
0
-10
1
14
-9
20
-3
0
0
0
0
0
0
0
0
-10
3
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
-3
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
0
-11
7
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
-35
6
0
0
0
0
0
0
13
15
0
23
1
35
1
29
-4
24
0
0
25
-11
17
-1
0
0
0
0
0
0
0
0
0
0
-12
-4
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
-2
-4
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
-17
6
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
-42
3
0
0
0
0
-31
17
-23
11
-16
12
-16
10
-18
6
-12
3
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
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
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
9
0
0
1
13
-5
15
4
20
5
20
2
12
-7
9
0
4
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
-5
-6
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
-11
-5
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
-29
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-2
3
0
0
-1
-6
-1
-9
32
-22
-37
-1
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
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
0
0
0
0
0
-7
-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
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
-1
-1
-7
2
-5
-6
2
-10
13
-13
-28
-2
0
0
-2
-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
-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
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
0
0
0
0
0
0
0
0
2
-2
-9
0
0
0
-10
0
-13
-8
-7
-8
15
-17
-6
-10
0
0
0
0
-3
-1
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
4
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
5
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
-21
1
0
0
0
0
0
0
0
0
-1
1
-9
1
-7
1
0
0
-10
-3
-10
-4
7
-11
-23
-1
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
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
-12
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
0
0
0
0
0
0
0
0
-24
2
0
0
0
0
0
0
0
2
-12
5
-8
6
-7
1
0
0
-2
-6
4
-12
-30
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
-15
2
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
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
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
0
0
0
0
7
-3
-8
2
-5
4
-8
1
-9
-5
0
0
-1
-11
-54
3
0
0
0
0
0
0
0
0
0
0
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
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
0
0
0
0
0
-33
7
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
-42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
8
0
0
-24
7
-17
2
-22
4
-23
4
-18
0
-34
2
0
0
-101
17
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
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
6
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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-2
7
0
18
-5
-4
2
0
0
11
-4
9
-2
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
-26
9
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
-1
8
2
5
4
3
3
0
6
-5
51
-17
33
-9
-2
-6
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
-6
-4
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
7
-13
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
6
0
8
0
14
-6
15
-11
53
-19
42
-11
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
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
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
0
0
0
0
0
-4
-4
-9
3
0
0
0
-3
-1
-7
7
-11
47
-23
15
-9
0
0
0
0
-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
0
0
0
0
0
0
1
-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
-8
-6
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
-12
-4
0
0
0
0
0
0
0
0
-8
2
-8
2
-1
1
0
0
-8
-4
-2
-10
36
-22
23
-6
0
0
0
0
0
0
-2
-3
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
1
1
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
-11
-6
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
-19
1
0
0
0
0
0
0
5
-1
-4
4
-6
4
7
-2
0
0
1
-14
35
-23
16
-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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
3
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
0
0
0
0
0
-20
-6
0
0
0
0
-8
4
-10
10
2
9
-10
11
-4
0
0
0
24
-14
9
-5
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
-13
-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
-16
-2
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
-38
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
0
0
-3
0
-17
9
-27
11
-16
12
-27
12
-18
-2
0
0
-16
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
-26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
10
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
-18
-2
0
0
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
-43
1
-5
5
-9
9
10
6
0
0
-7
10
4
0
5
-3
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
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
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
-6
-6
-28
10
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
-12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
-8
14
9
7
-5
3
-3
-1
20
-7
-4
7
3
-7
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
-4
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
-11
-3
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
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
11
5
0
0
6
6
14
2
4
-4
0
-5
3
-9
3
-1
0
0
10
-8
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
4
-2
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
-12
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
-4
-4
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
0
0
16
-4
-7
-5
3
-9
19
-15
7
-2
0
0
0
0
14
-4
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
3
3
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
-12
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
-9
-1
0
0
0
0
0
0
0
0
-8
9
-11
10
-3
6
0
0
2
-8
-2
-14
14
-8
6
2
0
0
0
0
0
0
14
-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
-5
7
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
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
0
0
0
0
0
0
4
8
-13
14
-2
12
14
6
0
0
4
-8
21
-10
8
5
0
0
0
0
0
0
0
0
6
3
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
14
2
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
-25
11
0
0
0
0
0
0
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
-4
0
0
0
0
5
9
-8
14
3
14
-7
14
-2
5
0
0
15
-8
-2
7
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
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
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
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
-19
-2
0
0
4
8
-11
13
-10
14
2
13
-19
11
-16
7
0
0
-8
10
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
-35
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
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
-3
17
-7
16
-14
22
-2
13
-15
10
-15
4
11
-6
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
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-23
9
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
-17
-4
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
0
-1
21
1
13
1
9
7
-1
11
-3
-1
-2
11
15
5
-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
-3
-5
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
-6
-6
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
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
13
0
0
6
8
5
1
21
-5
10
-8
9
-10
7
8
0
0
8
-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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
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
-7
-2
0
0
0
0
0
0
0
0
0
0
-13
15
5
12
0
0
10
6
-3
-3
2
-4
15
-12
-17
19
0
0
0
0
18
-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
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
15
-21
17
-3
16
0
0
-4
5
-1
-7
20
-10
9
10
0
0
0
0
0
0
8
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
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
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
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
0
0
0
0
0
0
1
20
9
18
8
12
6
12
0
0
-3
2
6
-6
-7
23
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
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
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
5
24
14
18
-1
19
1
12
-2
14
0
0
10
3
-1
12
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
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
15
19
19
15
12
15
-8
22
-13
13
7
1
0
0
-31
28
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
14
24
15
18
-37
30
-19
22
-30
21
-17
10
-30
21
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
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
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
-8
-5
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
-6
16
6
10
-8
1
-23
2
0
-2
6
11
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
22
10
0
0
9
5
7
2
-10
0
-9
-6
-11
-6
14
8
0
0
5
-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
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
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
-9
-1
0
0
0
0
0
0
0
0
0
0
-9
10
-2
6
0
0
4
6
-16
-4
-1
-7
8
-10
0
6
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
-14
4
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
-3
-1
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
0
0
0
0
0
-21
6
0
0
0
0
0
0
0
0
6
14
-15
16
6
10
0
0
-4
6
-2
-8
44
-16
26
4
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
0
0
0
0
0
0
3
23
-41
33
-10
18
17
7
0
0
8
2
-21
2
12
18
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
13
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
-21
2
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
-24
3
0
0
0
0
4
27
10
21
9
14
-11
17
-6
6
0
0
1
5
-9
22
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
-5
-1
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
-4
-8
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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
35
21
3
23
6
11
7
13
-4
7
-2
6
0
0
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
-55
4
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
0
0
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
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
-9
-11
24
27
16
26
9
24
-24
28
-18
21
-48
21
-42
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
-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
0
-1
-8
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
-3
-6
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
-27
15
-30
16
-44
15
-26
-2
-35
-3
-109
17
-6
5
-1
-19
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
-4
-9
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
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
1
8
0
0
-6
0
-26
6
-27
-3
-42
-2
-16
-12
-5
0
0
0
-8
-8
0
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
-7
-3
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
-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
9
-7
0
0
0
0
0
0
0
0
0
0
-2
8
-4
4
0
0
-21
0
-30
-6
-30
-8
-69
2
-2
-1
0
0
0
0
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-7
13
-8
10
-11
6
0
0
-23
-5
-38
-6
-64
8
-22
6
0
0
0
0
0
0
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
15
0
0
0
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
-19
5
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
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
0
0
0
0
0
0
-2
18
-3
18
-15
16
-10
2
0
0
-9
-7
-57
8
-8
15
0
0
0
0
0
0
0
0
-45
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
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
0
0
0
0
0
-43
9
0
0
0
0
23
25
5
22
-1
19
-5
11
8
-6
0
0
-9
-1
-26
16
0
0
0
0
0
0
0
0
0
0
-66
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
49
13
14
19
15
13
9
12
-12
5
-17
-1
0
0
-25
16
0
0
0
0
0
0
0
0
0
0
0
0
-58
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
19
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
0
0
0
0
0
-4
-4
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
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
27
23
-5
23
6
16
-11
12
-42
18
-26
6
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
2
-39
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-13
-3
0
0
0
0
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
-9
1
-42
24
-51
20
-36
6
-45
7
-48
7
-49
21
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
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
-13
-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
-14
1
0
0
-15
-3
-37
7
-26
-4
-36
-5
-25
-12
-40
4
0
0
0
0
-26
9
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
-27
2
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
0
-19
5
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
-40
3
0
0
0
0
0
0
0
0
0
0
-24
6
-21
2
0
0
-11
-13
-33
-6
-42
-6
-25
-12
-40
0
0
0
0
0
0
0
-49
17
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
0
0
0
-42
7
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
-26
8
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
-62
12
0
0
0
0
0
0
0
0
-4
4
-29
13
-23
-1
0
0
-19
-15
-50
-5
-34
-4
-52
10
0
0
0
0
0
0
0
0
-50
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
9
0
0
0
0
0
0
-32
16
-43
26
-50
21
-16
-8
0
0
-42
-8
-67
7
-45
18
0
0
0
0
0
0
0
0
0
0
-63
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
16
0
0
0
0
0
14
-21
21
-17
19
-31
14
-6
-12
0
0
-57
1
-35
18
0
0
0
0
0
0
0
0
0
0
0
0
-51
9
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
-97
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
1
0
0
15
14
-11
20
-4
15
-14
12
-52
10
-47
-2
0
0
-48
14
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
-42
4
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
-60
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-2
-5
29
-44
35
-39
30
-51
24
3
2
-52
10
-24
-19
0
0
0
0
3
-45
-8
-2
-5
-11
0
-33
5
-35
55
-107
48
-92
2
-58
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
-13
-11
0
0
3
-16
0
0
0
0
0
0
0
0
0
0
7
-48
0
0
0
0
35
-59
0
0
0
0
0
0
0
0
-7
-49
0
0
0
0
0
0
55
-95
0
0
0
0
0
0
-13
-45
0
0
0
0
0
0
0
0
106
-115
0
0
0
0
-6
-64
0
0
0
0
0
0
0
0
0
0
31
-107
0
0
26
-76
0
0
0
0
0
0
0
0
0
0
0
0
204
-202
2
-46
0
0
-2
-30
-17
3
-10
-22
8
-44
33
-81
48
-80
-4
-46
-4
-38
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
0
0
-1
-21
0
0
0
0
0
0
0
0
0
0
-9
-11
0
0
0
0
21
-33
0
0
0
0
0
0
0
0
-4
-30
0
0
0
0
0
0
44
-90
0
0
0
0
0
0
5
-49
0
0
0
0
0
0
0
0
112
-110
0
0
0
0
6
-73
0
0
0
0
0
0
0
0
0
0
122
-150
0
0
-5
-51
0
0
0
0
0
0
0
0
0
0
0
0
-5
-31
-9
-17
0
0
-15
-2
-16
-6
12
-54
20
-72
38
-72
0
0
-9
-33
-1
-35
-6
-20
0
0
0
0
0
0
0
0
-10
-16
0
0
1
-39
0
0
3
-20
0
0
0
0
0
0
0
0
0
0
6
-38
0
0
0
0
22
-34
0
0
0
0
0
0
0
0
7
-57
0
0
0
0
0
0
49
-45
0
0
0
0
0
0
18
-76
0
0
0
0
0
0
0
0
111
-79
0
0
0
0
24
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-91
0
0
0
0
0
0
0
0
0
0
3
-33
-6
-12
-7
-7
0
0
-15
-2
7
-47
25
-77
30
-77
0
0
0
0
-8
-4
-4
-6
-5
-7
0
0
0
0
0
0
0
0
-6
2
0
0
2
-21
0
0
2
0
0
0
0
0
-11
17
0
0
0
0
7
-27
0
0
0
0
23
-14
0
0
0
0
0
0
0
0
7
-53
0
0
0
0
0
0
24
8
0
0
0
0
0
0
9
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-84
0
0
0
0
0
0
0
0
9
-45
4
-32
0
-22
-4
-16
0
0
9
-49
12
-72
27
-87
0
0
0
0
0
0
2
-22
8
-52
9
-53
0
0
0
0
0
0
0
0
11
-33
0
0
13
-38
0
0
28
-41
0
0
0
0
13
-43
0
0
0
0
28
-48
0
0
0
0
27
-41
9
-39
0
0
0
0
0
0
49
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-126
0
0
0
0
0
0
0
-32
-8
-10
-10
-6
-23
15
-14
0
0
0
9
-73
-3
-52
0
0
0
0
0
0
0
0
-9
-17
3
-49
4
-76
0
0
0
0
0
0
0
0
-1
-27
0
0
-1
-47
0
0
22
-57
0
0
0
0
-1
-27
0
0
0
0
13
-30
0
0
0
0
0
0
10
-42
0
0
0
0
0
0
41
-71
0
0
0
0
-7
-26
0
0
0
0
0
0
0
0
126
-136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-96
0
0
0
0
-20
-34
-2
-32
-17
-39
-9
-36
-13
-13
23
-67
0
0
10
-98
0
0
0
0
0
0
0
0
0
0
5
-63
-12
-77
0
-99
0
0
0
0
0
0
0
0
19
-77
0
0
4
-44
0
0
0
0
0
0
0
0
33
-79
0
0
0
0
30
-74
0
0
0
0
0
0
20
-84
0
0
0
0
0
0
68
-114
0
0
0
0
47
-87
0
0
0
0
0
0
0
0
58
-92
0
0
5
-101
0
0
0
0
0
0
0
0
0
0
2
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-106
0
0
-26
-42
-2
-52
3
-61
-5
-61
3
-45
-5
-51
22
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-98
2
-82
0
0
0
0
0
0
0
0
0
0
1
-37
0
0
0
-48
0
0
0
0
0
0
0
0
42
-90
0
0
0
0
34
-94
0
0
0
0
0
0
-18
-95
0
0
0
0
0
0
20
-82
0
0
0
0
-21
-53
0
0
0
0
0
0
0
0
121
-141
0
0
-24
-62
0
0
0
0
0
0
0
0
0
0
99
-107
5
-49
0
0
0
0
0
0
0
0
0
0
0
0
49
-84
2
-70
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-46
-3
-19
2
-24
10
-40
19
-49
28
-71
19
-59
-5
-51
-3
-35
0
0
0
0
0
0
0
0
0
0
0
0
-5
-31
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-3
-57
0
0
0
0
23
-61
0
0
0
0
0
0
0
0
-20
-39
0
0
0
0
0
0
54
-70
0
0
0
0
0
0
19
-99
0
0
0
0
0
0
0
0
54
-105
0
0
0
0
20
-69
0
0
0
0
0
0
0
0
0
0
120
-135
0
0
3
-59
-4
-54
-8
-22
0
0
0
0
0
0
0
0
0
0
-4
-48
0
0
-2
-30
-4
-23
4
-28
14
-50
36
-80
17
-63
-4
-52
-2
-48
2
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
11
-31
0
0
0
0
0
0
0
0
0
0
3
-43
0
0
0
0
36
-86
0
0
0
0
0
0
0
0
-1
-57
0
0
0
0
0
0
80
-98
0
0
0
0
0
0
18
-86
0
0
0
0
0
0
0
0
216
-231
0
0
0
0
19
-83
0
0
0
0
0
0
0
0
0
0
153
-173
0
0
-7
-31
-12
-26
-14
-12
0
0
0
0
0
0
0
0
-15
-9
-12
-20
0
0
-8
-14
-8
-14
-4
-16
9
-53
23
-89
0
0
-9
-26
-1
-34
-6
-30
0
0
0
0
0
0
0
0
-10
-10
0
0
-4
-32
0
0
7
-31
0
0
0
0
0
0
0
0
0
0
-18
-22
0
0
0
0
17
-37
0
0
0
0
0
0
0
0
-15
-41
0
0
0
0
0
0
63
-55
0
0
0
0
0
0
6
-74
0
0
0
0
0
0
0
0
175
-203
0
0
0
0
-14
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-16
-22
-14
-17
0
0
0
0
0
0
-5
-35
-13
-23
-6
-20
0
0
-4
-22
-6
-20
16
-60
12
-84
0
0
0
0
2
-42
1
-35
-2
-25
0
0
0
0
0
0
0
0
-6
-20
0
0
4
-42
0
0
5
-7
0
0
0
0
-1
-33
0
0
0
0
15
-69
0
0
0
0
31
-31
0
0
0
0
0
0
0
0
13
-63
0
0
0
0
0
0
82
-43
0
0
0
0
0
0
39
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
-18
-36
-2
-61
0
0
0
0
-10
-28
-7
-23
-10
-12
-11
-7
0
0
-6
-26
2
-61
15
-87
0
0
0
0
0
0
-4
-34
-1
-30
3
-38
0
0
0
0
0
0
0
0
1
-32
0
0
8
-34
0
0
26
-36
0
0
0
0
-1
-27
0
0
0
0
33
-82
0
0
0
0
32
-16
-6
-38
0
0
0
0
0
0
14
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-41
-4
-78
-9
-109
0
0
-4
-39
-12
-38
1
-36
-12
-18
-4
-38
0
0
10
-78
1
-105
0
0
0
0
0
0
0
0
9
-55
3
-57
17
-67
0
0
0
0
0
0
0
0
3
-53
0
0
14
-54
0
0
27
-48
0
0
0
0
5
-67
0
0
0
0
41
-97
0
0
0
0
0
0
34
-78
0
0
0
0
0
0
70
-98
0
0
0
0
19
-119
0
0
0
0
0
0
0
0
112
-148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
258
-228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-59
-13
-87
-3
-95
-23
-24
-22
-26
-3
-43
-1
-27
-4
-32
-3
-57
0
0
-15
-97
0
0
0
0
0
0
0
0
0
0
17
-65
9
-67
20
-88
0
0
0
0
0
0
0
0
1
-41
0
0
3
-55
0
0
0
0
0
0
0
0
4
-94
0
0
0
0
37
-96
0
0
0
0
0
0
6
-94
0
0
0
0
0
0
42
-80
0
0
0
0
8
-96
0
0
0
0
0
0
0
0
75
-76
0
0
-57
-45
0
0
0
0
0
0
0
0
0
0
144
-142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-91
4
-88
-9
-54
-19
-43
-3
-45
3
-72
-9
-55
-2
-46
8
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-108
10
-84
0
0
0
0
0
0
0
0
0
0
38
-85
0
0
4
-40
0
0
0
0
0
0
0
0
42
-126
0
0
0
0
71
-115
0
0
0
0
0
0
82
-138
0
0
0
0
0
0
89
-127
0
0
0
0
25
-91
0
0
0
0
0
0
0
0
196
-196
0
0
-61
-21
0
0
0
0
0
0
0
0
0
0
239
-215
3
-49
0
0
3
-20
0
0
0
0
0
0
0
0
0
0
7
-67
2
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-59
8
-49
21
-48
17
-51
33
-49
62
-84
87
-147
2
-56
-2
-47
0
0
0
0
0
0
0
0
0
0
0
0
-7
-36
0
0
1
-41
0
0
0
0
0
0
0
0
0
0
-16
-56
0
0
0
0
-3
-39
0
0
0
0
0
0
0
0
11
-97
0
0
0
0
0
0
29
-75
0
0
0
0
0
0
34
-94
0
0
0
0
0
0
0
0
105
-126
0
0
0
0
0
0
1
-43
0
0
-3
-19
0
0
0
0
0
0
0
0
1
-48
-4
-42
3
-33
0
0
0
0
0
0
0
0
0
0
1
-48
0
0
8
-52
6
-40
11
-35
26
-46
51
-81
37
-63
0
-36
6
-48
3
-43
0
0
0
0
0
0
0
0
0
0
0
0
-9
-21
0
0
11
-47
0
0
0
0
0
0
0
0
0
0
-16
-20
0
0
0
0
35
-59
0
0
0
0
0
0
0
0
19
-93
0
0
0
0
0
0
80
-123
0
0
0
0
0
0
34
-94
0
0
0
0
0
0
0
0
153
-176
0
0
-8
-24
0
0
-1
-40
0
0
-9
-37
0
0
0
0
0
0
0
0
-3
-41
6
-48
-2
-30
0
0
0
0
0
0
0
0
0
-44
5
-60
0
0
8
-52
9
-51
24
-54
52
-82
46
-102
0
0
3
-51
12
-70
6
-49
0
0
0
0
0
0
0
0
6
-52
0
0
7
-62
0
0
22
-60
0
0
0
0
0
0
0
0
0
0
7
-71
0
0
0
0
64
-92
0
0
0
0
0
0
0
0
25
-109
0
0
0
0
0
0
212
-238
0
0
0
0
0
0
7
-93
0
0
0
0
0
0
0
0
176
-208
0
0
-1
-26
0
0
-11
-20
0
0
2
-68
0
0
0
0
0
0
0
0
3
-26
-1
-31
-5
-23
0
0
0
0
0
0
-2
-30
-2
-34
7
-57
0
0
-11
-14
2
-30
18
-38
24
-59
0
0
0
0
1
-47
20
-68
6
-40
0
0
0
0
0
0
0
0
0
-37
0
0
10
-62
0
0
21
-65
0
0
0
0
-16
-27
0
0
0
0
22
-78
0
0
0
0
79
-90
0
0
0
0
0
0
0
0
37
-117
0
0
0
0
0
0
176
-198
0
0
0
0
0
0
-2
-96
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
0
0
-14
-32
0
0
-6
-72
0
0
0
0
0
0
0
0
-2
-23
-2
-44
1
-46
0
0
0
0
-3
-36
7
-49
3
-47
5
-49
0
0
9
-47
18
-50
22
-54
0
0
0
0
0
0
2
-62
26
-68
13
-59
0
0
0
0
0
0
0
0
11
-63
0
0
31
-89
0
0
39
-77
0
0
0
0
3
-51
0
0
0
0
25
-93
0
0
0
0
86
-88
1
-93
0
0
0
0
0
0
77
-149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-104
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
0
-7
-33
0
0
-6
-64
0
0
0
0
0
0
0
0
-4
-35
12
-66
0
-80
0
0
11
-70
5
-42
15
-58
4
-48
7
-45
0
0
14
-64
-4
-36
0
0
0
0
0
0
0
0
-1
-45
12
-46
19
-71
0
0
0
0
0
0
0
0
14
-74
0
0
13
-59
0
0
23
-29
0
0
0
0
-6
-66
0
0
0
0
65
-97
0
0
0
0
0
0
13
-99
0
0
0
0
0
0
114
-152
0
0
0
0
-35
-48
0
0
0
0
0
0
0
0
87
-139
0
0
0
0
0
0
0
0
0
0
0
0
-21
-12
0
0
-24
-56
0
0
0
0
0
0
0
0
0
0
0
0
-18
-36
17
-99
-9
-94
-4
-54
-13
-61
-19
-33
-8
-46
-9
-33
0
-54
0
0
4
-96
0
0
0
0
0
0
0
0
0
0
-4
-50
10
-50
12
-87
0
0
0
0
0
0
0
0
-2
-60
0
0
5
-27
0
0
0
0
0
0
0
0
-6
-56
0
0
0
0
33
-55
0
0
0
0
0
0
-22
-84
0
0
0
0
0
0
83
-119
0
0
0
0
-86
-5
0
0
0
0
0
0
0
0
159
-177
0
0
0
0
0
0
0
0
0
0
0
0
-13
-37
0
0
14
-78
0
0
0
0
0
0
0
0
0
0
0
0
-1
-103
14
-86
6
-52
-26
-35
7
-81
-12
-64
1
-54
-8
-38
19
-105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-104
10
-66
0
0
0
0
0
0
0
0
0
0
20
-61
0
0
30
-74
0
0
0
0
0
0
0
0
2
-88
0
0
0
0
40
-80
0
0
0
0
0
0
-18
-86
0
0
0
0
0
0
124
-154
0
0
0
0
-85
-25
0
0
0
0
0
0
0
0
166
-188
0
-28
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
2
-32
0
0
5
-15
0
0
0
0
0
0
0
0
0
0
-2
-46
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-59
-2
-36
18
-38
12
-41
16
-36
31
-41
16
-59
-2
-42
-8
-29
0
0
0
0
0
0
0
0
0
0
0
0
-22
-19
0
0
-13
-21
0
0
0
0
0
0
0
0
0
0
1
-61
0
0
0
0
6
-58
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
12
-68
0
0
0
0
0
0
0
0
15
-55
0
0
0
0
3
-31
0
0
0
0
0
0
0
0
16
-48
0
0
16
-36
0
0
0
0
0
0
0
0
12
-62
15
-63
19
-59
0
0
0
0
0
0
0
0
0
0
24
-102
0
0
31
-93
26
-72
47
-87
33
-76
50
-112
36
-84
11
-70
21
-75
16
-68
0
0
0
0
0
0
0
0
0
0
0
0
7
-57
0
0
13
-49
0
0
0
0
0
0
0
0
0
0
32
-104
0
0
0
0
42
-103
0
0
0
0
0
0
0
0
9
-71
0
0
0
0
0
0
75
-120
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
13
-93
0
0
0
0
1
-37
0
0
4
-46
0
0
6
-42
0
0
0
0
0
0
0
0
6
-38
13
-61
12
-48
0
0
0
0
0
0
0
0
-1
-39
12
-80
0
0
25
-87
23
-65
14
-64
31
-97
10
-59
0
0
2
-54
3
-71
5
-55
0
0
0
0
0
0
0
0
-7
-51
0
0
-15
-47
0
0
25
-57
0
0
0
0
0
0
0
0
0
0
15
-97
0
0
0
0
67
-139
0
0
0
0
0
0
0
0
-22
-64
0
0
0
0
0
0
41
-116
0
0
12
-68
0
0
0
0
7
-64
0
0
0
0
5
-111
0
0
0
0
1
-41
0
0
10
-46
0
0
18
-76
0
0
0
0
0
0
0
0
15
-54
16
-76
16
-63
0
0
0
0
0
0
-1
-71
-2
-56
21
-101
0
0
22
-86
13
-67
39
-121
7
-81
0
0
0
0
15
-91
20
-108
9
-71
0
0
0
0
0
0
0
0
16
-88
0
0
31
-89
0
0
48
-82
0
0
0
0
3
-93
0
0
0
0
21
-123
0
0
0
0
67
-155
0
0
0
0
0
0
0
0
-39
-87
0
0
0
0
0
0
101
-171
0
0
5
-39
0
0
0
0
-6
-41
0
0
0
0
2
-60
0
0
0
0
11
-41
0
0
10
-57
0
0
13
-116
0
0
0
0
0
0
0
0
12
-56
10
-64
16
-66
0
0
0
0
17
-77
28
-78
8
-60
20
-88
0
0
26
-90
21
-97
26
-92
0
0
0
0
0
0
-10
-78
40
-115
38
-104
0
0
0
0
0
0
0
0
-6
-64
0
0
34
-104
0
0
72
-114
0
0
0
0
7
-103
0
0
0
0
45
-135
0
0
0
0
172
-204
-29
-69
0
0
0
0
0
0
9
-131
0
0
0
0
0
0
0
0
0
0
-5
-33
0
0
0
0
2
-74
0
0
0
0
0
0
0
0
0
0
-4
-24
0
0
15
-77
0
0
0
-99
0
0
0
0
0
0
0
0
-5
-41
11
-57
22
-98
0
0
7
-67
5
-53
16
-73
4
-68
13
-81
0
0
28
-124
15
-89
0
0
0
0
0
0
0
0
19
-113
42
-101
40
-112
0
0
0
0
0
0
0
0
-5
-59
0
0
59
-92
0
0
63
-64
0
0
0
0
-9
-103
0
0
0
0
105
-185
0
0
0
0
0
0
-47
-47
0
0
0
0
0
0
27
-96
0
0
0
0
0
0
0
0
0
0
-18
-9
0
0
0
0
-11
-69
0
0
0
0
0
0
0
0
0
0
-2
-25
0
0
21
-89
0
0
0
0
0
0
0
0
0
0
0
0
3
-54
13
-56
3
-95
4
-38
17
-73
-3
-51
3
-47
-2
-50
16
-75
0
0
27
-133
0
0
0
0
0
0
0
0
0
0
22
-110
23
-67
19
-90
0
0
0
0
0
0
0
0
-11
-52
0
0
35
-47
0
0
0
0
0
0
0
0
-29
-69
0
0
0
0
93
-134
0
0
0
0
0
0
-63
-49
0
0
0
0
0
0
106
-130
0
0
0
0
0
0
0
0
0
0
-26
-9
0
0
0
0
-3
-55
0
0
0
0
0
0
0
0
0
0
-15
-35
0
0
-1
-71
0
0
0
0
0
0
0
0
0
0
0
0
9
-81
-3
-71
5
-37
10
-56
13
-57
-11
-49
10
-52
-7
-31
21
-119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-104
24
-66
0
0
0
0
0
0
0
0
0
0
14
-76
0
0
28
-44
0
0
0
0
0
0
0
0
-4
-86
0
0
0
0
107
-167
0
0
0
0
0
0
-60
-40
0
0
0
0
0
0
43
-105
24
-50
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
27
-57
0
0
0
0
25
-35
0
0
0
0
0
0
0
0
10
-42
0
0
19
-24
0
0
0
0
0
0
0
0
0
0
17
-69
13
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-76
21
-53
44
-82
32
-87
49
-91
49
-115
83
-115
6
-56
-7
-31
0
0
0
0
0
0
0
0
0
0
0
0
11
-59
0
0
-8
-47
0
0
0
0
0
0
0
0
0
0
4
-43
0
0
0
0
11
-65
0
0
0
0
0
0
0
0
0
0
13
-45
0
0
0
0
0
0
28
-77
0
0
0
0
0
0
14
-32
0
0
0
0
15
-43
0
0
0
0
0
0
0
0
7
-29
0
0
25
-45
0
0
0
0
0
0
0
0
12
-42
8
-58
14
-47
0
0
0
0
0
0
0
0
0
0
23
-113
0
0
-3
-75
17
-65
55
-111
44
-118
49
-101
45
-97
-11
-47
8
-58
-12
-54
0
0
0
0
0
0
0
0
0
0
0
0
9
-63
0
0
35
-101
0
0
0
0
0
0
0
0
0
0
-17
-37
0
0
0
0
22
-94
0
0
0
0
0
0
0
0
0
0
11
-33
0
0
0
0
0
0
-25
-65
0
0
0
0
0
0
19
-41
0
0
0
0
24
-66
0
0
0
0
9
-40
0
0
22
-56
0
0
23
-44
0
0
0
0
0
0
0
0
12
-48
13
-69
28
-64
0
0
0
0
0
0
0
0
3
-43
18
-96
0
0
15
-85
37
-99
68
-124
51
-117
58
-124
0
0
-3
-49
6
-72
5
-57
0
0
0
0
0
0
0
0
11
-98
0
0
19
-109
0
0
35
-109
0
0
0
0
0
0
0
0
0
0
-27
-61
0
0
0
0
59
-119
0
0
0
0
0
0
0
0
0
0
2
-30
0
0
0
0
0
0
-4
-71
17
-63
0
0
0
0
19
-53
0
0
0
0
13
-87
0
0
0
0
11
-33
0
0
19
-67
0
0
25
-69
0
0
0
0
0
0
0
0
14
-52
10
-84
18
-73
0
0
0
0
0
0
21
-87
5
-45
10
-94
0
0
20
-118
38
-120
34
-118
39
-102
0
0
0
0
-9
-77
25
-99
29
-77
0
0
0
0
0
0
0
0
-1
-109
0
0
-1
-100
0
0
82
-168
0
0
0
0
-41
-58
0
0
0
0
-51
-91
0
0
0
0
56
-126
0
0
-20
-32
0
0
0
0
0
0
-14
-47
0
0
0
0
0
0
0
0
4
-64
0
0
0
0
9
-63
0
0
0
0
-16
-100
0
0
0
0
22
-60
0
0
10
-72
0
0
19
-85
0
0
0
0
0
0
0
0
14
-56
10
-87
20
-94
0
0
0
0
16
-74
3
-77
22
-94
-42
-70
0
0
23
-138
25
-121
42
-140
0
0
0
0
0
0
-8
-80
-23
-81
54
-98
0
0
0
0
0
0
0
0
-39
-94
0
0
-15
-84
0
0
-1
-125
0
0
0
0
-63
-49
0
0
0
0
-78
-90
0
0
0
0
-22
-114
0
0
7
-57
0
0
0
0
0
0
-20
-51
0
0
0
0
0
0
0
0
3
-57
0
0
0
0
-10
-57
0
0
0
0
0
0
0
0
0
0
-4
-36
0
0
6
-72
0
0
24
-130
0
0
0
0
0
0
0
0
4
-52
16
-92
5
-127
0
0
-19
-53
18
-78
-24
-72
-30
-63
-3
-113
0
0
1
-147
6
-106
0
0
0
0
0
0
0
0
-31
-79
26
-98
40
-90
0
0
0
0
0
0
0
0
-16
-108
0
0
28
-112
0
0
99
-185
0
0
0
0
-89
-37
0
0
0
0
-37
-96
0
0
0
0
0
0
0
0
-21
-25
0
0
0
0
0
0
-32
-52
0
0
0
0
0
0
0
0
-17
-29
0
0
0
0
16
-104
0
0
0
0
0
0
0
0
0
0
-11
-41
0
0
7
-73
0
0
0
0
0
0
0
0
0
0
0
0
-8
-82
15
-93
-9
-124
-12
-14
1
-83
-15
-81
-8
-88
-39
-67
-48
-100
0
0
-48
-146
0
0
0
0
0
0
0
0
0
0
-38
-58
44
-105
31
-137
0
0
0
0
0
0
0
0
-24
-86
0
0
58
-136
0
0
0
0
0
0
0
0
-108
-48
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
-31
-51
0
0
0
0
0
0
0
0
-13
-45
0
0
0
0
-9
-80
0
0
0
0
0
0
0
0
0
0
-10
-68
0
0
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
-11
-101
5
-95
19
-53
-7
-23
10
-77
-19
-67
-4
-96
-12
-70
-33
-129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-85
42
-117
0
0
0
0
0
0
0
0
0
0
20
-117
0
0
77
-152
0
0
0
0
0
0
0
0
-68
-59
0
0
0
0
49
-135
53
-77
0
0
0
0
0
0
0
0
31
-66
0
0
0
0
49
-75
0
0
0
0
0
0
39
-55
0
0
0
0
0
0
33
-64
0
0
0
0
47
-55
0
0
0
0
0
0
0
0
26
-58
0
0
41
-49
0
0
0
0
0
0
0
0
0
0
31
-99
27
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-67
0
-34
40
-64
81
-111
105
-123
162
-131
160
-120
39
-113
27
-109
0
0
0
0
0
0
0
0
0
0
0
0
24
-48
0
0
19
-71
0
0
0
0
0
0
0
0
0
0
0
0
45
-81
0
0
0
0
0
0
0
0
16
-107
0
0
0
0
28
-70
0
0
0
0
0
0
55
-103
0
0
0
0
0
0
36
-70
0
0
0
0
40
-62
0
0
0
0
0
0
0
0
27
-65
0
0
58
-93
0
0
0
0
0
0
0
0
33
-99
47
-123
50
-120
0
0
0
0
0
0
0
0
0
0
-1
-99
0
0
27
-95
39
-75
85
-129
131
-134
161
-161
151
-113
25
-141
56
-148
30
-148
0
0
0
0
0
0
0
0
0
0
0
0
21
-51
0
0
4
-91
0
0
0
0
0
0
0
0
0
0
0
0
34
-64
0
0
0
0
0
0
0
0
-2
-54
0
0
0
0
14
-34
0
0
0
0
0
0
36
-100
0
0
0
0
0
0
28
-61
0
0
0
0
56
-82
0
0
0
0
55
-83
0
0
45
-91
0
0
61
-84
0
0
0
0
0
0
0
0
47
-103
50
-124
57
-115
0
0
0
0
0
0
0
0
3
-33
42
-106
0
0
36
-104
56
-96
146
-172
125
-153
130
-138
0
0
36
-142
61
-163
44
-148
0
0
0
0
0
0
0
0
-28
-80
0
0
-25
-55
0
0
5
-111
0
0
0
0
0
0
0
0
0
0
0
0
8
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-69
0
0
0
0
0
0
-32
-82
19
-61
0
0
0
0
39
-89
0
0
0
0
53
-107
0
0
0
0
35
-83
0
0
31
-100
0
0
43
-97
0
0
0
0
0
0
0
0
35
-106
12
-118
43
-129
0
0
0
0
0
0
17
-97
11
-63
10
-90
0
0
13
-107
90
-124
108
-158
81
-127
0
0
0
0
-8
-136
19
-149
47
-141
0
0
0
0
0
0
0
0
-91
-45
0
0
-54
-66
0
0
15
-113
0
0
0
0
0
0
0
0
0
0
0
0
-48
-31
0
0
0
0
0
0
11
-86
0
0
0
0
0
0
-4
-82
0
0
0
0
0
0
0
0
3
-73
0
0
0
0
-7
-75
0
0
0
0
14
-114
0
0
0
0
19
-78
0
0
-6
-87
0
0
15
-127
0
0
0
0
0
0
0
0
4
-96
-54
-102
-3
-127
0
0
0
0
-72
-37
-22
-72
-67
-43
-64
-68
0
0
-39
-99
50
-132
-11
-125
0
0
0
0
0
0
-98
-98
-84
-108
30
-138
0
0
0
0
0
0
0
0
-90
-93
0
0
-84
-64
0
0
-62
-106
0
0
-53
-29
0
0
0
0
0
0
0
0
-72
-68
0
0
0
0
0
0
-14
-52
0
0
0
0
0
0
-64
-72
0
0
0
0
0
0
0
0
-15
-47
0
0
0
0
-14
-76
0
0
0
0
0
0
0
0
0
0
-21
-49
0
0
-25
-73
0
0
-15
-147
0
0
0
0
0
0
0
0
18
-105
-77
-101
-68
-98
0
0
-57
-41
-50
-42
-71
-61
-61
-61
-139
-57
0
0
-122
-64
-42
-108
0
0
0
0
0
0
0
0
-64
-117
-113
-95
-24
-144
0
0
0
0
0
0
0
0
-179
-36
0
0
-91
-37
0
0
-78
-122
0
0
-44
-10
0
0
0
0
0
0
0
0
-51
-59
0
0
0
0
0
0
-42
-46
0
0
0
0
0
0
-28
-74
0
0
0
0
0
0
0
0
-57
-38
0
0
0
0
-10
-95
0
0
0
0
0
0
0
0
0
0
-54
-42
0
0
-18
-85
0
0
0
0
0
0
0
0
0
0
0
0
-43
-107
-50
-110
-49
-114
-35
-43
-142
6
-46
-49
-114
-42
-127
-47
-156
-46
0
0
-104
-116
0
0
0
0
0
0
0
0
0
0
-23
-131
-104
-114
39
-182
0
0
0
0
0
0
0
0
-130
-66
0
0
-54
-50
0
0
0
0
0
0
-61
-9
0
0
0
0
0
0
0
0
-23
-65
0
0
0
0
0
0
-34
-38
0
0
0
0
0
0
-48
-48
0
0
0
0
0
0
0
0
-44
-45
0
0
0
0
-30
-64
0
0
0
0
0
0
0
0
0
0
-36
-52
0
0
-26
-115
0
0
0
0
0
0
0
0
0
0
0
0
-89
-103
-42
-120
-16
-28
-87
3
-6
-78
-47
-51
-133
-45
-65
-59
-157
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-167
-47
-147
0
0
0
0
0
0
0
0
0
0
3
-75
0
0
-24
-104
48
-56
0
0
0
0
0
0
0
0
0
0
31
-95
0
0
39
-71
0
0
0
0
0
0
0
0
47
-65
0
0
0
0
36
-78
0
0
0
0
0
0
34
-48
0
0
0
0
0
0
31
-75
0
0
0
0
63
-69
0
0
0
0
0
0
0
0
7
-37
0
0
43
-69
0
0
0
0
0
0
0
0
0
0
13
-99
29
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-44
-2
-25
14
-48
60
-62
96
-102
177
-135
26
-82
-18
-80
30
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-71
0
0
0
0
0
0
0
0
0
0
2
-42
0
0
55
-72
0
0
0
0
0
0
0
0
26
-80
0
0
0
0
37
-73
0
0
0
0
0
0
55
-85
0
0
0
0
0
0
50
-94
0
0
0
0
72
-88
0
0
0
0
0
0
0
0
14
-50
0
0
43
-83
0
0
0
0
0
0
0
0
14
-102
17
-99
27
-119
0
0
0
0
0
0
0
0
0
0
6
-60
0
0
13
-63
0
-38
68
-76
116
-122
80
-120
235
-187
-22
-100
-13
-107
-5
-113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-79
0
0
0
0
0
0
0
0
50
-120
0
0
0
0
38
-67
0
0
0
0
0
0
92
-122
0
0
0
0
0
0
40
-88
0
0
0
0
69
-106
0
0
0
0
58
-104
0
0
35
-92
0
0
61
-109
0
0
0
0
0
0
0
0
37
-109
25
-119
48
-120
0
0
0
0
0
0
0
0
30
-66
27
-83
0
0
38
-78
51
-65
152
-158
92
-126
12
-78
0
0
-60
-68
-36
-111
-19
-123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-85
0
0
0
0
0
0
61
-153
42
-89
0
0
0
0
34
-80
0
0
0
0
80
-146
0
0
0
0
50
-86
0
0
17
-97
0
0
91
-151
0
0
0
0
0
0
0
0
37
-120
-7
-111
28
-129
0
0
0
0
0
0
49
-105
4
-38
24
-88
0
0
51
-87
83
-115
-67
-87
24
-106
0
0
0
0
-73
-77
-87
-103
-50
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-65
0
0
0
0
0
0
23
-76
0
0
0
0
0
0
24
-86
0
0
0
0
0
0
0
0
23
-80
0
0
0
0
6
-76
0
0
0
0
70
-210
0
0
0
0
19
-79
0
0
-26
-92
0
0
57
-161
0
0
0
0
0
0
0
0
15
-102
-101
-81
47
-123
0
0
0
0
-34
-46
25
-97
-30
-42
-12
-74
0
0
15
-127
34
-149
-119
-67
0
0
0
0
0
0
-147
-63
-130
-92
-58
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-231
69
0
0
0
0
-12
-16
0
0
0
0
0
0
0
0
-36
-56
0
0
0
0
0
0
-42
-24
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
31
-82
0
0
0
0
-50
-66
0
0
0
0
0
0
0
0
0
0
-30
-62
0
0
-76
-77
0
0
5
-137
0
0
0
0
0
0
0
0
-23
-95
-89
-81
-1
-93
0
0
-16
-62
-36
-56
-63
-41
-15
-83
-14
-89
0
0
-48
-104
-46
-70
0
0
0
0
0
0
0
0
-113
-59
-163
-47
-157
-23
0
0
15
-47
0
0
0
0
0
0
0
0
0
0
-25
-29
0
0
0
0
83
-102
0
0
0
0
0
0
0
0
-118
-16
0
0
0
0
0
0
-11
-51
0
0
0
0
0
0
-15
-63
0
0
0
0
0
0
0
0
8
-58
0
0
0
0
-44
-88
0
0
0
0
0
0
0
0
0
0
21
-96
0
0
-61
-83
0
0
0
0
0
0
0
0
0
0
0
0
-17
-117
-101
-83
-60
-90
45
-75
-9
-51
9
-97
-127
-55
-7
-78
-3
-133
0
0
-95
-101
0
0
0
0
0
0
0
0
0
0
-62
-100
-121
-95
-124
-82
0
0
-51
-13
0
0
0
0
0
0
0
0
0
0
-218
53
0
0
0
0
-14
-20
0
0
0
0
0
0
0
0
-70
-38
0
0
0
0
0
0
10
-62
0
0
0
0
0
0
-79
-51
0
0
0
0
0
0
0
0
8
-56
0
0
0
0
-95
-41
0
0
0
0
0
0
0
0
0
0
-10
-73
0
0
-53
-72
0
0
0
0
0
0
0
0
0
0
0
0
-30
-94
-127
-81
54
-84
64
-39
14
-84
-15
-77
-80
-80
49
-83
42
-134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-110
-108
-98
-33
-41
0
0
0
0
0
0
0
0
0
0
0
0
8
-88
-17
-54
0
0
0
0
0
0
0
0
0
0
1
-73
0
0
2
-73
0
0
0
0
0
0
0
0
60
-92
0
0
0
0
-33
-61
0
0
0
0
0
0
33
-85
0
0
0
0
0
0
-60
-89
0
0
0
0
19
-83
0
0
0
0
0
0
0
0
-27
-53
0
0
-8
-52
0
0
0
0
0
0
0
0
0
0
-49
-125
-43
-115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-79
48
-80
99
-133
74
-86
126
-130
206
-156
179
-161
0
0
-36
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-47
0
0
0
0
0
0
0
0
0
0
-21
-65
0
0
-17
-56
0
0
0
0
0
0
0
0
65
-113
0
0
0
0
-34
-64
0
0
0
0
0
0
52
-94
0
0
0
0
0
0
2
-98
0
0
0
0
45
-155
0
0
0
0
0
0
0
0
-24
-56
0
0
60
-114
0
0
0
0
0
0
0
0
-99
-99
-69
-121
-53
-140
0
0
0
0
0
0
0
0
0
0
-25
-61
0
0
52
-112
45
-93
93
-129
106
-129
174
-184
177
-153
0
0
0
0
-18
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-95
0
0
0
0
0
0
0
0
-6
-71
0
0
0
0
10
-88
0
0
0
0
0
0
35
-135
0
0
0
0
0
0
-17
-109
0
0
0
0
26
-138
0
0
0
0
-46
-52
0
0
-27
-83
0
0
-22
-76
0
0
0
0
0
0
0
0
-165
-61
-104
-119
-107
-109
0
0
0
0
0
0
0
0
-45
-9
-5
-83
0
0
19
-99
74
-122
92
-136
125
-158
114
-157
0
0
0
0
0
0
-36
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-65
0
0
0
0
0
0
39
-145
-25
-87
0
0
0
0
-48
-76
0
0
0
0
22
-156
0
0
0
0
-44
-48
0
0
-53
-70
0
0
-3
-127
0
0
0
0
0
0
0
0
-161
-76
-150
-92
-85
-111
0
0
0
0
0
0
-54
-46
-44
-46
-49
-63
0
0
28
-113
40
-106
80
-147
94
-145
0
0
0
0
0
0
0
0
-120
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-46
0
0
0
0
0
0
-48
-42
0
0
0
0
0
0
-74
-50
0
0
0
0
0
0
0
0
-49
-55
0
0
0
0
-144
-62
0
0
0
0
6
-152
0
0
0
0
-79
-47
0
0
-75
-71
0
0
-16
-96
0
0
0
0
0
0
0
0
-210
-52
-181
-81
-50
-119
0
0
0
0
-92
-12
-24
-74
-99
1
-72
-76
0
0
-51
-101
87
-157
24
-164
0
0
0
0
0
0
0
0
0
0
-138
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
-4
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
-13
-65
0
0
0
0
0
0
-5
-68
0
0
0
0
0
0
-68
-60
0
0
0
0
0
0
0
0
-28
-94
0
0
0
0
-171
-59
0
0
0
0
0
0
0
0
0
0
-89
-58
0
0
-175
-27
0
0
-71
-107
0
0
0
0
0
0
0
0
-209
-53
-219
-71
-110
-98
0
0
-52
-60
-76
-40
-134
-49
-154
-34
-144
-67
0
0
-105
-97
-62
-104
0
0
0
0
0
0
0
0
0
0
0
0
-223
44
0
0
-49
-35
0
0
0
0
0
0
0
0
0
0
-212
26
0
0
0
0
-32
-44
0
0
0
0
0
0
0
0
-71
-53
0
0
0
0
0
0
-74
-41
0
0
0
0
0
0
-98
-70
0
0
0
0
0
0
0
0
-55
-71
0
0
0
0
-170
-61
0
0
0
0
0
0
0
0
0
0
-82
-72
0
0
-145
-38
0
0
0
0
0
0
0
0
0
0
0
0
-139
-93
-150
-116
-256
-40
-38
-37
-52
-48
-108
-42
-99
-65
-165
-29
-154
-60
0
0
-185
-72
-126
-8
0
0
0
0
0
0
0
0
0
0
0
0
-52
-36
0
0
-116
2
0
0
0
0
0
0
0
0
0
0
-274
72
0
0
0
0
-82
-15
0
0
0
0
0
0
0
0
-82
-57
0
0
0
0
0
0
6
-66
0
0
0
0
0
0
-110
-96
0
0
0
0
0
0
0
0
-45
-77
0
0
0
0
-168
-58
0
0
0
0
0
0
0
0
0
0
15
-107
0
0
-137
-21
0
0
0
0
0
0
0
0
0
0
0
0
-86
-122
-193
-101
-100
-12
-25
-41
-47
-47
-101
-53
-103
-65
-40
-52
-101
-103
0
0
0
34
16
8
0
-16
-16
40
-24
0
-16
-8
0
-32
-8
-40
-40
24
8
8
-32
-40
0
8
32
16
0
0
-24
0
32
48
24
0
16
-32
-32
0
0
-64
0
-40
-8
-40
56
-184
-56
8
24
-184
-64
24
-16
-48
-232
-96
-88
-72
16
-96
-224
-56
-88
-88
-88
-72
-104
-128
0
56
0
16
8
16
-8
-64
-56
0
-16
0
0
8
-24
88
-40
-40
32
-48
-240
-64
0
-120
-96
-232
-24
-8
-192
-48
-72
-152
8
-16
-88
-72
-8
-32
-120
0
96
-56
24
96
64
32
-64
56
0
0
0
0
0
-48
-8
8
-24
-8
8
-72
-24
-24
-16
-32
-120
-24
0
0
-96
48
80
8
56
0
-32
0
48
-112
24
72
56
16
48
-24
104
24
24
0
-56
0
0
0
0
-32
-72
16
72
80
80
-24
72
-48
-56
-96
24
-32
-32
-224
32
-72
16
72
-64
-88
-48
-40
40
0
24
-8
-128
-16
48
56
-56
48
0
-16
0
0
0
0
0
-40
-40
16
-32
-56
-96
48
16
-104
-96
0
0
48
-8
-80
-152
0
56
56
8
-8
40
-136
0
112
152
8
128
-48
16
0
0
0
0
0
0
0
0
0
0
168
8
-64
40
120
-32
48
-40
8
0
112
-112
48
-104
0
0
48
72
40
184
160
-32
0
72
40
48
40
128
0
0
0
0
0
0
0
0
0
0
0
0
-40
48
64
32
64
120
80
-24
0
-56
-64
104
-24
-64
0
128
-32
16
-64
120
0
0
8
104
96
-104
88
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-136
0
160
40
56
-64
0
48
8
-72
-8
-168
0
56
-16
-48
-88
-64
0
0
136
176
72
-80
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
64
-64
-64
0
-96
-40
56
-32
-192
0
104
32
-112
80
0
0
0
32
32
120
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
-80
-64
-40
0
232
88
56
0
0
0
136
48
72
16
0
0
0
184
56
32
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
-16
8
0
32
136
-24
-96
0
0
64
-24
16
-120
0
0
0
112
144
-40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-160
0
56
88
152
-64
0
0
144
-16
-104
-8
0
0
0
-24
80
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-136
-32
24
0
0
0
152
144
192
0
0
0
0
8
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
96
200
320
0
0
0
224
-32
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-208
0
0
0
-48
64
-8
0
0
0
0
64
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-8
-24
0
0
0
0
0
128
-16
0
0
0
0
0
0
0
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
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
-16
0
0
0
0
0
0
0
0
0
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
48
0
-48
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
8
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
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
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
-64
0
0
0
0
0
0
0
0
0
-8
0
0
56
0
-112
0
128
0
0
0
64
-72
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
-56
0
0
0
0
0
-8
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
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
0
-48
0
0
0
0
0
0
0
0
0
16
0
0
0
0
-32
0
0
0
0
0
-112
0
0
0
0
-192
0
0
0
0
-8
-56
0
0
0
0
0
0
-96
0
8
0
0
0
0
0
0
0
24
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
-24
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-256
232
24
-216
96
-80
-888
56
-112
-176
-632
8
-224
-376
-304
-896
-16
-288
-728
-176
0
-152
-56
-72
-152
-24
0
72
-272
80
0
0
0
0
0
224
-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
1485
860325
0
0
0
0
0
0
0
0
0
0
0
0
1635
586155
180
203865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4095
5349075
0
0
3390
5525775
0
0
0
0
0
0
0
0
0
0
7440
4166280
1845
1800075
3120
3449490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11775
3952365
0
0
2955
3659715
0
0
0
0
0
0
0
0
0
0
5340
2614785
6585
5640165
4185
3948750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4950
2734320
0
0
4860
3303045
0
0
0
0
0
0
0
0
0
0
5670
2800860
3570
3554445
5685
3378240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18375
12303195
45105
95331750
0
0
82905
101303415
159225
46183350
0
0
0
0
0
0
0
0
38280
59251170
61785
87282435
37935
26859330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6855
10006065
0
0
26175
10535820
0
0
0
0
0
0
0
0
0
0
13890
8741340
13140
6112500
19320
6891675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52440
97913280
0
0
126495
155158725
0
0
0
0
0
0
0
0
0
0
43320
32748675
134370
63278370
193380
103760640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37905
16783725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19545
7012230
26835
12700230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
590640
1560
655755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
260565
0
0
0
0
0
0
0
0
0
0
0
0
810
532275
570
366585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
920895
1500
975075
1005
1093170
0
0
0
0
0
0
0
0
0
0
990
865005
0
0
855
843000
0
0
0
0
0
0
0
0
0
0
1380
1112175
1320
898650
750
515520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4620
1628880
3045
1911555
2850
1726320
0
0
0
0
0
0
0
0
0
0
2205
1100505
0
0
2175
1534605
0
0
0
0
0
0
0
0
0
0
4260
1538415
2040
1713450
1875
1181595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7710
3329715
5595
4072200
5265
3867045
0
0
0
0
0
0
0
0
0
0
5190
3128355
0
0
5595
3492600
0
0
0
0
0
0
0
0
0
0
4050
2563350
3390
3029100
3165
2095560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7020
5512500
10110
7336260
10950
6205410
0
0
0
0
0
0
0
0
0
0
8550
4736400
0
0
5145
2573325
0
0
0
0
0
0
0
0
0
0
6015
3353010
5385
3142095
8265
3672540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8295
9326940
14985
10136715
24825
10080540
0
0
0
0
0
0
0
0
0
0
8145
6942330
0
0
18030
5905710
0
0
0
0
0
0
0
0
0
0
5505
4371015
10560
6931755
15435
5284575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20625
27955890
59745
32912430
22305
27294945
0
0
0
0
0
0
0
0
0
0
17355
10409025
0
0
42225
22394535
0
0
0
0
0
0
0
0
0
0
10710
13040055
13005
7293900
32910
24912690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60750
22985190
31950
23593650
0
0
0
0
0
0
0
0
0
0
0
0
34950
10746750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13980
7227705
12795
9646560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
201465
225
211455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
209265
0
0
0
0
0
0
0
0
0
0
0
0
195
228510
180
149895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
270
469470
240
439695
705
438030
0
0
0
0
0
0
0
0
0
0
330
520425
0
0
240
433170
0
0
0
0
0
0
0
0
0
0
405
394530
330
326160
360
499845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
630
973155
885
1464885
795
1089990
0
0
0
0
0
0
0
0
0
0
795
1258980
0
0
210
1170765
0
0
0
0
0
0
0
0
0
0
435
997155
495
1242540
150
801330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1530
1035990
1590
1642215
1755
1331910
0
0
0
0
0
0
0
0
0
0
825
1563810
0
0
555
1486800
0
0
0
0
0
0
0
0
0
0
510
1594515
435
1578030
345
800790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1350
1453500
1620
2243265
1560
1604820
0
0
0
0
0
0
0
0
0
0
1155
1718250
0
0
1710
1897545
0
0
0
0
0
0
0
0
0
0
705
1223565
465
1700505
1215
1523865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2640
2514255
2535
2465145
4965
2569995
0
0
0
0
0
0
0
0
0
0
1980
2365635
0
0
3300
2767125
0
0
0
0
0
0
0
0
0
0
735
1367460
1770
2782890
1710
2213430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3210
1765560
4740
2311635
5940
3280020
0
0
0
0
0
0
0
0
0
0
2820
2061705
0
0
3330
2799330
0
0
0
0
0
0
0
0
0
0
1875
2095215
1830
2297475
4965
3155355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5310
2119335
3840
2785695
0
0
0
0
0
0
0
0
0
0
0
0
3270
1438035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1395
1549800
2475
2129265
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
154635
15
142875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
103350
0
0
0
0
0
0
0
0
0
0
0
0
75
145410
105
141630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
325605
180
245160
210
299625
0
0
0
0
0
0
0
0
0
0
225
510690
0
0
15
433425
0
0
0
0
0
0
0
0
0
0
270
299100
90
262620
105
402915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
596415
165
605295
150
516735
0
0
0
0
0
0
0
0
0
0
225
570075
0
0
180
513735
0
0
0
0
0
0
0
0
0
0
555
417330
255
681105
210
585840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
944745
465
933750
210
648405
0
0
0
0
0
0
0
0
0
0
705
1239120
0
0
75
814215
0
0
0
0
0
0
0
0
0
0
240
790275
270
910245
510
865575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
825000
240
1408695
210
1813725
0
0
0
0
0
0
0
0
0
0
255
1696320
0
0
300
1584660
0
0
0
0
0
0
0
0
0
0
60
1509600
180
1591140
285
928470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
495
794790
705
963000
840
1393845
0
0
0
0
0
0
0
0
0
0
510
861360
0
0
405
1482225
0
0
0
0
0
0
0
0
0
0
765
1115970
255
1198350
585
1099155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1095
762045
1440
919380
1785
1368390
0
0
0
0
0
0
0
0
0
0
585
1077030
0
0
975
1537080
0
0
0
0
0
0
0
0
0
0
570
1018830
945
1168290
750
1174770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1245
505590
570
575925
0
0
0
0
0
0
0
0
0
0
0
0
390
594000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
315
569265
1080
746115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
158730
30
111705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
160050
0
0
0
0
0
0
0
0
0
0
0
0
30
176640
105
162060
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
299730
45
181350
195
247980
0
0
0
0
0
0
0
0
0
0
135
336930
0
0
30
333615
0
0
0
0
0
0
0
0
0
0
120
267390
15
222525
135
354930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
398160
45
375570
30
206700
0
0
0
0
0
0
0
0
0
0
120
338880
0
0
60
336255
0
0
0
0
0
0
0
0
0
0
135
236370
195
360885
210
503550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
522765
60
398565
90
308355
0
0
0
0
0
0
0
0
0
0
105
538200
0
0
90
448200
0
0
0
0
0
0
0
0
0
0
225
431670
75
471285
75
437235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
352170
120
395550
120
488745
0
0
0
0
0
0
0
0
0
0
90
505095
0
0
105
434010
0
0
0
0
0
0
0
0
0
0
195
485400
195
501870
195
467235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
261960
60
787035
150
822870
0
0
0
0
0
0
0
0
0
0
135
693960
0
0
180
748380
0
0
0
0
0
0
0
0
0
0
150
724680
225
805350
390
353055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
476595
330
538800
390
640425
0
0
0
0
0
0
0
0
0
0
105
558870
0
0
360
709605
0
0
0
0
0
0
0
0
0
0
645
702675
555
728475
555
766725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
308610
525
329040
0
0
0
0
0
0
0
0
0
0
0
0
345
464895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
394125
240
459165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69630
0
143205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
102675
0
0
0
0
0
0
0
0
0
0
0
0
45
62040
90
122790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
233820
30
204210
15
170625
0
0
0
0
0
0
0
0
0
0
15
235200
0
0
30
288780
0
0
0
0
0
0
0
0
0
0
105
181110
30
172425
60
341880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
412080
105
462495
105
270750
0
0
0
0
0
0
0
0
0
0
45
579510
0
0
90
304740
0
0
0
0
0
0
0
0
0
0
90
578910
90
519435
60
484185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
206505
45
216210
30
175485
0
0
0
0
0
0
0
0
0
0
165
263700
0
0
30
213405
0
0
0
0
0
0
0
0
0
0
285
245070
135
187170
615
241470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
191610
15
192630
15
144105
0
0
0
0
0
0
0
0
0
0
60
174225
0
0
210
182505
0
0
0
0
0
0
0
0
0
0
180
172830
165
181260
120
195735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
186600
135
192060
210
271440
0
0
0
0
0
0
0
0
0
0
30
222195
0
0
255
215100
0
0
0
0
0
0
0
0
0
0
360
241095
195
254490
135
210765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
186120
225
497010
225
486480
0
0
0
0
0
0
0
0
0
0
150
486255
0
0
135
501240
0
0
0
0
0
0
0
0
0
0
225
518385
105
412125
105
290085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
135390
45
133410
0
0
0
0
0
0
0
0
0
0
0
0
60
159210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
149505
45
126960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45180
15
69600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80250
0
0
0
0
0
0
0
0
0
0
0
0
0
37260
30
93780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133035
0
132480
0
162225
0
0
0
0
0
0
0
0
0
0
45
179385
0
0
15
177660
0
0
0
0
0
0
0
0
0
0
165
182505
30
161415
30
215760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
204765
45
155265
15
84810
0
0
0
0
0
0
0
0
0
0
30
170265
0
0
30
165765
0
0
0
0
0
0
0
0
0
0
150
244680
15
168225
60
188430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146085
15
80925
15
102180
0
0
0
0
0
0
0
0
0
0
45
158040
0
0
75
113655
0
0
0
0
0
0
0
0
0
0
15
195045
105
182160
165
132210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
62835
15
64425
30
44835
0
0
0
0
0
0
0
0
0
0
135
66045
0
0
150
63060
0
0
0
0
0
0
0
0
0
0
60
66600
225
73395
150
70170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65310
90
67725
60
76650
0
0
0
0
0
0
0
0
0
0
60
92415
0
0
45
77280
0
0
0
0
0
0
0
0
0
0
30
78960
60
97365
15
82290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
74355
105
121020
0
175260
0
0
0
0
0
0
0
0
0
0
30
179235
0
0
45
160530
0
0
0
0
0
0
0
0
0
0
15
138345
60
167820
30
96615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
35295
60
66030
0
0
0
0
0
0
0
0
0
0
0
0
45
56700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76425
15
72990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12615
0
44595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39555
0
38850
0
56565
0
0
0
0
0
0
0
0
0
0
30
64740
0
0
0
72750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69330
15
64230
45
73470
0
0
0
0
0
0
0
0
0
0
30
86505
0
0
45
90570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
39015
15
33645
30
30870
0
0
0
0
0
0
0
0
0
0
45
50160
0
0
90
30120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
26370
15
23610
15
25080
0
0
0
0
0
0
0
0
0
0
30
27240
0
0
15
37620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
25920
30
22545
0
28215
0
0
0
0
0
0
0
0
0
0
15
35160
0
0
0
21675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41700
0
44160
15
43770
0
0
0
0
0
0
0
0
0
0
0
59925
0
0
0
57570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11730
0
14130
0
0
0
0
0
0
0
0
0
0
0
0
15
24360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
33780
0
0
0
0
0
0
0
0
0
0
0
0
165
30495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35610
8049045
0
0
0
0
0
0
0
0
17175
9652815
0
0
35370
8646480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1305
544110
0
0
0
0
0
0
3495
823005
0
0
0
0
0
0
0
0
3990
630315
0
0
3345
751650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2760
1274040
0
0
0
0
0
0
4485
1175235
0
0
0
0
0
0
0
0
7650
2780535
0
0
6120
1239120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6510
1808040
0
0
0
0
0
0
2670
822270
0
0
0
0
0
0
0
0
7110
1217745
0
0
8025
2191590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6105
1654710
0
0
0
0
0
0
6300
1611045
0
0
0
0
0
0
0
0
7125
1628595
0
0
5415
1276065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9615
2292030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11220
2256495
0
0
5130
4893465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
87720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
297150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3000
467160
0
0
0
0
0
0
0
0
0
0
0
0
3045
392520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1545
601905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2565
330585
0
0
0
0
0
0
0
0
2220
614625
0
0
375
209715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
555
1216845
0
0
0
0
0
0
2565
2363160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2175
1944825
0
0
0
0
0
0
10530
2154525
0
0
0
0
0
0
0
0
6300
2241255
0
0
2745
1698090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9660
17530050
0
0
0
0
0
0
14535
18748185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143700
35201085
0
0
0
0
0
0
112185
28307355
0
0
0
0
0
0
0
0
65985
29967705
0
0
74145
35956350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8745
8003835
0
0
0
0
0
0
1620
5177580
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44115
12445560
0
0
0
0
0
0
45165
9808695
0
0
0
0
0
0
0
0
14160
7155060
0
0
32250
11413680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1875
1181760
0
0
0
0
0
0
105
547005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2385
593100
0
0
0
0
0
0
600
645645
0
0
0
0
0
0
0
0
2280
922740
0
0
2100
1334595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
660
276105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
630
149640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
660
142590
0
0
465
243540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2805
978645
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4005
997800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11895
1040310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1935
1566795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8865
1758615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3690
2278920
0
0
0
0
0
0
0
0
0
0
0
0
4125
1704390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
2155575
0
0
3390
2907810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17475
5382180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10350
2758545
0
0
0
0
0
0
0
0
19755
4572180
0
0
11520
3901245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10380
25057650
0
0
19080
29304765
0
0
0
0
0
0
0
0
28605
18502890
0
0
0
0
0
0
108345
37649475
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143160
50859855
0
0
0
0
0
0
100320
51248130
0
0
0
0
0
0
0
0
147615
53837910
0
0
61245
30258330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4695
5540310
0
0
4065
5482410
0
0
0
0
0
0
0
0
5415
3090180
0
0
0
0
0
0
6060
2681805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11970
6898065
0
0
0
0
0
0
24990
8179260
0
0
0
0
0
0
0
0
11820
5662725
0
0
12885
7433730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1890
2777610
0
0
2955
2802075
0
0
0
0
0
0
0
0
5865
2510940
0
0
0
0
0
0
960
1008915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11100
2514555
0
0
0
0
0
0
10185
3420330
0
0
0
0
0
0
0
0
4710
1929210
0
0
5685
3681930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29280
36655635
0
0
7725
22042680
0
0
0
0
0
0
0
0
194250
57698460
0
0
0
0
0
0
19950
21162960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108690
46800300
0
0
0
0
0
0
147645
66379365
0
0
0
0
0
0
0
0
127890
62214060
0
0
170445
85528485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2325
1395360
0
0
75
617670
0
0
0
0
0
0
0
0
4020
1894050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3240
1583340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2940
1762800
0
0
6060
2022795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1650
1243110
0
0
0
0
0
0
0
0
0
0
0
0
1560
531600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4440
1426155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2445
1819410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5085
3362325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33315
9356235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10980
4594770
0
0
0
0
0
0
0
0
0
0
0
0
22095
8030670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1440
423510
0
0
2835
704445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3270
699630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1965
467955
0
0
0
0
0
0
0
0
1845
522735
0
0
2700
675135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
1936740
0
0
14430
5509905
0
0
0
0
0
0
0
0
3435
3611655
0
0
0
0
0
0
20250
5505060
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23520
5934915
0
0
0
0
0
0
19215
5403900
0
0
0
0
0
0
0
0
29730
6278385
0
0
12795
6677895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8325
5440470
0
0
10305
5995350
0
0
0
0
0
0
0
0
25095
5956620
0
0
0
0
0
0
29235
8479530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34035
7143150
0
0
0
0
0
0
31110
9938280
0
0
0
0
0
0
0
0
27030
8428035
0
0
5670
6275790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15975
7145325
0
0
3990
2417595
0
0
0
0
0
0
0
0
28230
7828365
0
0
0
0
0
0
11355
3887610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19320
5943300
0
0
0
0
0
0
21780
7651695
0
0
0
0
0
0
0
0
11760
7349205
0
0
8895
9648105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19590
6205680
0
0
1140
1951800
0
0
0
0
0
0
0
0
21600
5541825
0
0
0
0
0
0
5745
4615560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10230
4381140
0
0
0
0
0
0
35970
6505335
0
0
0
0
0
0
0
0
1830
2957325
0
0
7920
4838835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
975
352260
0
0
855
629445
0
0
0
0
0
0
0
0
2700
554430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2205
840000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2190
1070445
0
0
2760
960150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3495
1279710
0
0
0
0
0
0
0
0
0
0
0
0
17325
4467930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7140
4808895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6180
3768675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5355
1031265
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2670
857880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2670
646515
0
0
0
0
0
0
0
0
0
0
0
0
2550
869340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3255
4173420
0
0
28965
8764785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9030
5415495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10920
6225495
0
0
0
0
0
0
0
0
12075
4864470
0
0
36870
8235285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7260
2774385
0
0
10005
2916135
0
0
0
0
0
0
0
0
7080
2668530
0
0
0
0
0
0
10125
2701635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12270
2319960
0
0
0
0
0
0
6075
3332385
0
0
0
0
0
0
0
0
9180
2048220
0
0
12255
3709965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7005
4251885
0
0
7380
2876400
0
0
0
0
0
0
0
0
6600
3480195
0
0
0
0
0
0
23055
4556430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19305
3902355
0
0
0
0
0
0
5535
5620065
0
0
0
0
0
0
0
0
18120
4230990
0
0
6270
4571730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32280
8607585
0
0
20565
8850240
0
0
0
0
0
0
0
0
24060
7980780
0
0
0
0
0
0
21555
9171855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40830
8587980
0
0
0
0
0
0
21060
7260615
0
0
0
0
0
0
0
0
31680
7770825
0
0
3900
1795995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2595
695205
0
0
1230
543270
0
0
0
0
0
0
0
0
1770
605265
0
0
0
0
0
0
1110
653715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2580
845730
0
0
0
0
0
0
2535
799935
0
0
0
0
0
0
0
0
2685
1072620
0
0
2685
549555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24195
7658700
0
0
3675
4121100
0
0
0
0
0
0
0
0
18120
5800110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5595
5112180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3585
1426380
0
0
5595
2375625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7320
435555
0
0
0
0
0
0
0
0
0
0
0
0
2460
634590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
618000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
425025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
135600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
166125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1275
206760
0
0
0
0
0
0
0
0
0
0
0
0
195
185670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1230
722460
0
0
2280
735450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1875
488520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2490
997800
0
0
0
0
0
0
0
0
120
497640
0
0
2085
806595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1860
1066680
0
0
3570
783105
0
0
0
0
0
0
0
0
1215
698655
0
0
0
0
0
0
3465
1570875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
675
637185
0
0
0
0
0
0
4485
1541205
0
0
0
0
0
0
0
0
615
878205
0
0
2370
1278060
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2640
741885
0
0
3120
1015725
0
0
0
0
0
0
0
0
2715
937545
0
0
0
0
0
0
2175
1130370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2160
747495
0
0
0
0
0
0
1410
361635
0
0
0
0
0
0
0
0
1095
846045
0
0
1320
1001205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
480
455310
0
0
1185
475755
0
0
0
0
0
0
0
0
840
464565
0
0
0
0
0
0
1815
550755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1275
443730
0
0
0
0
0
0
465
206160
0
0
0
0
0
0
0
0
645
430800
0
0
330
390990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
327765
0
0
1905
377865
0
0
0
0
0
0
0
0
1275
408885
0
0
0
0
0
0
1395
411030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1980
459420
0
0
0
0
0
0
525
400440
0
0
0
0
0
0
0
0
1755
497130
0
0
270
395895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
320610
0
0
3375
540615
0
0
0
0
0
0
0
0
600
510825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1245
728730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
579585
0
0
225
428655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1050
251370
0
0
0
0
0
0
0
0
0
0
0
0
960
225600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
555
135375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
226770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
540
152010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
181395
0
0
0
0
0
0
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
252735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
273330
0
0
750
228600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
245820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
285
245640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1695
480900
0
0
1065
374235
0
0
0
0
0
0
0
0
1275
411285
0
0
0
0
0
0
960
417075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
277275
0
0
0
0
0
0
945
470295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
317520
0
0
1170
346065
0
0
0
0
0
0
0
0
1155
326400
0
0
0
0
0
0
840
365985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
276315
0
0
0
0
0
0
30
269130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
915
384120
0
0
1035
466650
0
0
0
0
0
0
0
0
1335
465510
0
0
0
0
0
0
660
284430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
360
367725
0
0
0
0
0
0
285
399630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
540
226950
0
0
1365
344475
0
0
0
0
0
0
0
0
960
355920
0
0
0
0
0
0
1545
312390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
296130
0
0
0
0
0
0
165
309300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
116745
0
0
585
130110
0
0
0
0
0
0
0
0
150
80310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
315
159885
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
100110
0
0
0
0
0
0
0
0
0
0
0
0
240
82620
0
0
0
0
0
0
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
95415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
13905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31470
0
0
165
51750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
40470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55950
0
0
180
56310
0
0
0
0
0
0
0
0
15
45735
0
0
0
0
0
0
285
59865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59955
0
0
165
58305
0
0
0
0
0
0
0
0
30
51135
0
0
0
0
0
0
165
48930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68970
0
0
345
75345
0
0
0
0
0
0
0
0
165
61515
0
0
0
0
0
0
75
61905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41445
0
0
135
42285
0
0
0
0
0
0
0
0
135
41910
0
0
0
0
0
0
60
29880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36075
0
0
195
45570
0
0
0
0
0
0
0
0
75
43605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
18165
0
0
0
0
0
0
0
0
0
0
0
0
60
21180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
268740
118616325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
224250
96935700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
307725
129814005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
387990
108377415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123195
40317045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115530
30783465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46755
11028000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26400
8939625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157785
52130415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152610
43381995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
438960
178662345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
412500
152724660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168735
139655520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
290505
116407230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
446625
180764220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198060
151496895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221325
89495445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152895
46744695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
196125
35115345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156120
55040640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
402675
127797825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103665
31564380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
251115
150649620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149640
103677210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129195
35401650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191280
32352270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150735
44752125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
172560
42425700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159915
32076450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87435
26041590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97290
21597600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112590
28154925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17730
3492840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30855
12799830
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28725
7711560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32670
8648760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24600
5902125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11925
3030615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15015
3787845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11415
1836930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
402225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3015
407940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4980
1278630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5445
1111245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3525
430560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
825
195675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2715
274560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
990
308235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125250
96503865
177735
65614590
107190
48908190
42705
23981160
15030
9695790
5580
3355260
3285
2071260
54315
49179225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26895
30767130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20760
15727590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16980
8711670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12345
5538480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10080
3900480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7080
3566145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195810
71426475
0
0
139875
70005750
89355
39699750
39015
21924720
15405
10839960
4680
2939280
2745
1724250
0
0
46305
36282030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50700
28625445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18165
18600525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32055
11601825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10830
7728105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10395
3911130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4245
3050295
0
0
0
0
0
0
0
0
0
0
0
0
58485
32424870
64065
36436410
0
0
70065
34125045
41895
23014815
19170
15087435
8130
4500945
5940
3032505
0
0
0
0
74925
35521410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26265
23306850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19245
15529845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21510
10698510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14025
6608505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15960
5379240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7155
4508325
0
0
0
0
0
0
0
0
0
0
28695
18049845
37290
22173300
66210
29062710
0
0
65385
30394125
29055
21523365
13800
6488790
6855
3831660
0
0
0
0
0
0
68010
28967070
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26175
20438865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22725
12606525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14985
7767375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11955
5787195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12315
4466085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7155
3842775
0
0
0
0
0
0
0
0
25290
12441030
29445
17157165
53985
23045805
78360
30929745
0
0
44400
29671995
13545
6793665
11340
4464930
0
0
0
0
0
0
0
0
72375
31098975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35055
22105905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17265
12350295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16710
7052940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6090
3012645
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7050
2555625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4020
2400540
0
0
0
0
0
0
27120
14984340
62370
27134790
115530
41754285
173460
62925975
222855
99628560
0
0
18615
13445880
10575
8657430
0
0
0
0
0
0
0
0
0
0
40575
23390235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18945
11049585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11115
6432465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4845
3704865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3675
2713875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2985
1064340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1005
1201065
0
0
0
0
1230
1226010
1920
1584675
4200
2000445
7530
2704005
6225
3446370
9105
6630765
0
0
12165
6583890
0
0
0
0
0
0
0
0
0
0
0
0
13710
7074870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10485
5753130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6720
4085655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7890
3577080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1995
1777080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1785
644220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
667275
0
0
2805
1587510
6960
2422110
13440
3438360
13950
4783455
13830
7167630
29250
62220255
54495
99919185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12795
38122410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9630
19718595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8550
8299050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4380
4489245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3375
2936370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3315
1643520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2460
1799235
52335
28724025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35910
15136875
30240
9748575
17805
6986025
9720
4276875
2385
1096005
1200
517095
270
189675
15285
11760600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7830
5280000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7740
3014265
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2745
1695015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2625
887970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2430
940875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18300
7778475
0
0
0
0
0
0
0
0
0
0
0
0
20865
8084430
0
0
22980
6949320
14040
4854600
8010
3072420
2010
803415
2430
355320
1170
181800
0
0
12735
7900020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8955
5689725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7530
2964075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3720
1851420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2250
949200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1695
913515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22650
8707320
0
0
0
0
0
0
0
0
0
0
10860
5361510
13905
6896415
0
0
18675
8104365
11280
5229585
3225
1408410
2490
651480
495
272835
0
0
0
0
13320
7996905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6390
4873950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9570
3436965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6000
2199135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5295
1967205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3990
1451370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18480
7824735
0
0
0
0
0
0
0
0
5220
2953515
8445
3940515
16545
6597330
0
0
15090
5773230
4470
2030280
2565
773415
600
310995
0
0
0
0
0
0
7905
6031500
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8655
3416130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3240
1716315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2235
1314105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3435
1151055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2550
1091985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12270
5096550
0
0
0
0
0
0
1695
1193370
2655
1596255
5670
2755515
9315
3881340
0
0
6795
2034225
4005
936960
915
327180
0
0
0
0
0
0
0
0
6405
3628560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3480
2426670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2880
1520700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1680
862650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2265
811815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1395
764655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9585
3301920
0
0
0
0
555
552600
870
830460
1995
1577385
5190
1949475
6240
2825895
0
0
8565
2387100
2025
716310
0
0
0
0
0
0
0
0
0
0
4500
2873955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2610
2193795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
1136430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1350
986160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
990
246435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
465
247410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2925
1286070
0
0
195
274080
570
370485
1260
486480
615
566715
1680
708090
1950
979140
0
0
3360
826560
0
0
0
0
0
0
0
0
0
0
0
0
2865
1447950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1350
1035705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1500
915690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
338250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
149640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
135510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2070
1215675
165
106680
120
134910
360
253815
345
383445
1050
445170
1005
564255
3300
949500
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
960
889755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1860
676590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
450
472800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
278415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
360
239520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
256725
6585
3645540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7440
4079550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11415
3603345
6435
2663325
3735
1712085
2340
937410
1410
611850
1050
345735
540
157155
3630
2352945
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3195
1833330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2685
1301100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2295
877560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2535
735510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10350
4835460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11220
5541840
0
0
0
0
0
0
0
0
0
0
0
0
14895
4456320
0
0
10650
4353315
6225
2519340
2985
1499640
2085
955410
2250
494025
450
306675
0
0
7185
5260515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9045
3770820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3975
2512155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2475
933615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
884940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8805
4226805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11250
4746780
0
0
0
0
0
0
0
0
0
0
4395
2051205
9015
3748230
0
0
7920
4023270
5115
1942470
2205
1158390
1395
568635
600
294705
0
0
0
0
3360
3252030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5145
2135655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3030
1388820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2700
1200240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1800
984000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8670
3395865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9885
3303780
0
0
0
0
0
0
0
0
1800
1237035
4050
1761195
6525
2602245
0
0
7530
2697795
5850
1818045
3495
842220
945
386250
0
0
0
0
0
0
3015
2252595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2895
1380045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2685
1156230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2010
903045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1740
761220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8715
3374970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6285
2928795
0
0
0
0
0
0
1605
784335
1860
1078230
2670
1605750
7920
2471400
0
0
6375
2551815
4305
998820
1440
482565
0
0
0
0
0
0
0
0
2565
2169855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2550
1588845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1125
796245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1365
665115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1380
651615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5370
1777530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7335
1983870
0
0
0
0
495
399630
870
508350
1470
772200
2805
978300
3480
1608690
0
0
4785
1226010
2160
613815
0
0
0
0
0
0
0
0
0
0
3735
1719810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
1015260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2055
918375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
825
345645
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
303675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2295
1147635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3645
1502235
0
0
150
305355
330
427995
465
592245
1095
770835
2130
1006860
3480
1560630
0
0
4365
1342020
0
0
0
0
0
0
0
0
0
0
0
0
2880
1627740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2040
1350390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
744300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
855
414915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
270
308745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1575
1192395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
1241640
45
198720
330
249165
540
315720
390
467505
1365
630510
3435
933570
7785
1397145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1860
1161525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
870
920775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1425
673185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
780
581850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
600495
5310
2355390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5625
2687100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4620
2761740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4455
2120265
4680
1634580
1635
906810
945
594075
1020
479430
465
414315
975
373785
5580
2142300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2490
1279920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2160
839580
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3915
935400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6150
2422530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5310
2796330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5625
3220875
0
0
0
0
0
0
0
0
0
0
0
0
7455
2887725
0
0
3570
2412285
4575
1665930
1575
1188435
2385
1004295
1155
856365
2280
745095
0
0
7305
2335680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3765
1727730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1875
795780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1770
767610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3345
1377825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5070
1445715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1470
1428180
0
0
0
0
0
0
0
0
0
0
2490
800220
1965
1134705
0
0
2310
1136700
1335
755160
1485
599835
1050
509880
825
410715
0
0
0
0
2685
1161450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2505
890745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2115
767415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1830
660525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4650
2021790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5100
2097285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3195
2093490
0
0
0
0
0
0
0
0
870
855510
2775
1192650
3705
1527855
0
0
2130
1784685
4755
1254345
2685
1001895
2130
747645
0
0
0
0
0
0
3780
1449555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2745
1194345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2580
954525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2640
816690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2805
1172310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3105
975165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2595
1055760
0
0
0
0
0
0
600
341955
465
428040
1215
520980
1470
761625
0
0
4530
1018290
3390
874620
2325
637440
0
0
0
0
0
0
0
0
1950
871200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
535680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1245
452535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
449415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2295
1006320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3090
1075560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2715
1219455
0
0
0
0
975
428625
450
483975
1230
591435
2955
853365
1740
1251180
0
0
2295
1188255
3825
903240
0
0
0
0
0
0
0
0
0
0
1485
1127595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
729570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
359700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
300255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1035
544260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1605
619260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1935
725880
0
0
420
234345
870
287130
540
334080
510
387120
2325
732405
2910
902760
0
0
2415
815325
0
0
0
0
0
0
0
0
0
0
0
0
1905
911880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1335
647025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
324945
0
0
0
0
0
0
0
0
0
0
0
0
0
0
360
355740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1425
704670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
915
778005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1290
1104375
630
300450
735
339615
645
383535
810
548400
2280
873780
4350
1309485
3165
1440420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2100
1255335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2295
828180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
975
451935
0
0
0
0
0
0
0
0
0
0
0
0
0
0
825
491265
3615
1197315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3255
1401045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1785
1508700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3195
1625235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2940
1374165
2625
1011675
1740
666705
765
540660
345
402405
225
365250
225
268230
2190
1089300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2790
933960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2730
828105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5190
2084340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3525
2364450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7710
2749620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3705
2887845
0
0
0
0
0
0
0
0
0
0
0
0
3660
2254020
0
0
2610
2209800
3450
1577325
1740
1271700
870
858105
1005
734910
735
622305
0
0
3930
2000460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1980
824490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1185
689160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2970
1379280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3390
1545660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2385
1535205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2430
1772685
0
0
0
0
0
0
0
0
0
0
1470
915990
2985
1296000
0
0
1620
1257225
1785
846690
480
652680
780
590595
570
451800
0
0
0
0
2310
1451520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2955
1251330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2640
1054215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2910
1154100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2055
1051005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1140
1076115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2250
1102410
0
0
0
0
0
0
0
0
540
632220
1815
826335
1965
1012230
0
0
2100
967995
990
718845
945
617790
765
508200
0
0
0
0
0
0
2610
1116315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2175
904425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1740
755310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2715
1054620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2115
859140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2565
904800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1875
962355
0
0
0
0
0
0
570
379635
780
482970
1020
583395
1095
700860
0
0
1230
871830
1620
791670
1635
631005
0
0
0
0
0
0
0
0
1305
572910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1005
511980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
471270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1095
490275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
825
561075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
519225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
548670
0
0
0
0
210
237000
300
294510
375
358065
990
414870
1005
471585
0
0
990
530775
1605
381945
0
0
0
0
0
0
0
0
0
0
660
487965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
540
327465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
267840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1620
683160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1755
763845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3225
775860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1155
933855
0
0
195
266700
120
314895
375
394980
435
496590
2340
827355
675
858225
0
0
1800
828150
0
0
0
0
0
0
0
0
0
0
0
0
1290
618960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
750
452160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
660
434475
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
626250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
705
658755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1005
757560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2205
908790
240
197340
210
235125
270
269715
285
363375
1125
464010
600
603840
2235
751815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1545
765375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
519675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
491370
1605
834510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3705
1050105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4440
1230240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3045
1417890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1725
1402170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1755
814725
1785
769905
885
629250
225
468525
345
386355
90
277425
105
243180
2835
907155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3150
894165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2205
787140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1620
1017150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1500
1113390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1950
1188525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3975
1295490
0
0
0
0
0
0
0
0
0
0
0
0
825
956340
0
0
1710
999300
1395
851460
540
675330
555
486990
510
349845
180
288270
0
0
2505
741150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1605
664395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2670
1358775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3330
1629810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1590
1618140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1290
1666380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5190
1822320
0
0
0
0
0
0
0
0
0
0
4515
1125285
1740
1287465
0
0
3525
1628190
675
967815
1185
861240
900
515130
60
377205
0
0
0
0
3495
1455720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3255
1447605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1965
875100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1140
782505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
990
810840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1200
830955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1170
935670
0
0
0
0
0
0
0
0
420
609945
1275
794010
1515
982605
0
0
420
639945
645
551445
285
412470
180
331890
0
0
0
0
0
0
2700
839850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1770
766485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
675
621045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1140
508920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
615
551115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
583800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
705
590565
0
0
0
0
0
0
495
351675
225
401040
720
480495
1170
547365
0
0
615
529290
1005
438165
240
295785
0
0
0
0
0
0
0
0
1095
565755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1035
516075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
463545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
521715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
510
472275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
495195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
521790
0
0
0
0
105
294450
225
376095
360
483105
600
538665
510
549780
0
0
900
464565
375
363255
0
0
0
0
0
0
0
0
0
0
885
526395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
450
521205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
360
216585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
405
294840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
285
298560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
285
373425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
443430
0
0
45
263955
90
340740
120
370335
150
392385
300
448965
360
485820
0
0
735
384210
0
0
0
0
0
0
0
0
0
0
0
0
960
457035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
383280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
750
426315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
330
508770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
559110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
945
637710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
657435
30
223485
90
258045
150
295860
285
315780
135
400020
1650
653910
420
649995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1755
630435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
680850
2355
1198800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1830
1394850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1800
1441275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1755
1591995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2850
1741350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4260
1830660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4830
1769790
3510
1551120
1995
1260435
2295
1223880
645
579750
285
452025
180
372720
8535
1846410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2685
2237790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2160
2358510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4005
2708760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4335
2793165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4305
2895690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4110
3095430
0
0
0
0
0
0
0
0
0
0
0
0
3405
1802070
0
0
5085
3049545
3720
2819325
2475
2361570
1170
727890
585
600630
135
442050
0
0
6420
2985135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2580
1267095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1755
1374165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
1355835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1290
1395480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2820
1563150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6255
1755930
0
0
0
0
0
0
0
0
0
0
2730
1304145
4665
1578900
0
0
3060
1740675
3015
1598820
675
757620
405
518340
255
393495
0
0
0
0
5925
1676775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1935
1251225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1170
1055205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
1076460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
1180545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1830
1261530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2940
1387800
0
0
0
0
0
0
0
0
885
842370
2805
1096200
2130
1266240
0
0
2175
1434615
765
842745
405
473955
135
359055
0
0
0
0
0
0
3930
1460790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1350
871095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1605
723675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
689880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
727695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
885
710460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
855
780285
0
0
0
0
0
0
840
507675
1050
688590
990
773220
930
851295
0
0
795
555480
435
449250
165
369390
0
0
0
0
0
0
0
0
1620
908820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1140
476640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
463455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
585
483420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
488325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
495
514110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1125
620475
0
0
0
0
495
383325
660
442800
480
535305
855
566460
645
647340
0
0
1095
607770
690
530280
0
0
0
0
0
0
0
0
0
0
1110
609180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
259200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
292200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
301860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
347100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
735
405240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
465
445845
0
0
105
280935
90
319125
120
400845
405
412665
435
437370
390
497235
0
0
615
450330
0
0
0
0
0
0
0
0
0
0
0
0
1245
500205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
508605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
632115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
717525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
540
889095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
870
930780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1575
1053750
135
418725
285
448860
210
588060
525
590730
360
718530
1035
751170
1260
1010010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2415
883395
915
843195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
1027185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
705
1098240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1260
1137195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1080
1217430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2250
1307025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3675
1370745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1080
1091700
1695
1195260
1185
1184475
960
1172145
900
1024470
750
1097415
915
1042290
0
0
435
470355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
270
667035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
450
675330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
720000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
465
775500
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
842415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2760
899220
0
0
0
0
0
0
0
0
0
0
0
0
870
739980
0
0
855
824130
795
802515
690
756570
540
654360
645
679830
375
649395
0
0
0
0
960
990825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
945
1130595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
885
1080195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
585
1097340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1020
1221675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3330
1313040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4380
1342800
0
0
0
0
0
0
0
0
0
0
1335
1229100
1395
1183395
0
0
2355
1322550
2550
1331595
1170
939960
765
938595
1035
911565
0
0
0
0
0
0
870
767145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
773640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
540
805995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
844290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1050
886245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1680
983595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3045
1031325
0
0
0
0
0
0
0
0
690
804735
1350
857565
1260
886515
0
0
1515
966165
870
844350
885
908415
1065
860820
0
0
0
0
0
0
0
0
480
473685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
615
483390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
285
479295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
660
528675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
495
570330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
656895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1635
727200
0
0
0
0
0
0
525
578460
375
593265
930
659880
930
674055
0
0
735
679035
780
722745
600
688080
0
0
0
0
0
0
0
0
0
0
135
209370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
254640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
280635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
299550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
342030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
315
428445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
585
457845
0
0
0
0
60
358875
150
401445
210
437655
285
447825
300
463440
0
0
420
465225
405
459510
0
0
0
0
0
0
0
0
0
0
0
0
45
147300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
198360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
229710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
296445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
270
356340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
396960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
510
589815
0
0
210
414150
180
456600
225
479250
240
509370
540
558210
540
574095
0
0
195
505335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
335460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
437910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
500610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
330
569175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
420
640140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
732945
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1680
893130
285
487785
225
537000
360
618660
435
678045
405
754035
450
742575
915
854700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4110
1548600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5310
1521570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3105
1090080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1815
573405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
149130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
31785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
750
344235
0
0
1545
869835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1230
880755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
764505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
435360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
241350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
330
217380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55725
15646035
0
0
98160
31538280
0
0
0
0
0
0
0
0
29310
10241310
0
0
0
0
0
0
60045
17594550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49230
15248880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33180
14066895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6495
9646410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8700
2271075
0
0
10230
2749740
0
0
0
0
0
0
0
0
6030
1596015
0
0
0
0
0
0
7905
2174655
0
0
0
0
5175
1096965
0
0
0
0
0
0
0
0
0
0
2835
1791810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1470
1031490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3420
1442610
0
0
4455
752610
0
0
0
0
0
0
0
0
3645
1196955
0
0
0
0
0
0
1605
464850
0
0
0
0
1380
845865
0
0
0
0
0
0
0
0
0
0
1305
358335
1155
578400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94935
32658840
0
0
46500
16096590
0
0
0
0
0
0
0
0
79065
27510645
0
0
0
0
0
0
23115
11351715
0
0
0
0
26145
19917840
0
0
0
0
0
0
0
0
0
0
0
0
31305
16217250
0
0
0
0
0
0
0
0
0
0
0
0
4560
8121615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1740
334065
0
0
270
261915
0
0
0
0
0
0
0
0
195
314370
0
0
0
0
0
0
0
0
0
0
0
0
135
104745
0
0
0
0
0
0
0
0
0
0
0
0
75
109440
0
0
0
0
0
0
0
0
0
0
0
0
30
97425
0
0
0
0
0
0
0
0
0
0
0
0
15
84900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3060
1104120
0
0
0
0
0
0
0
0
0
0
0
0
2160
867600
0
0
0
0
0
0
0
0
0
0
0
0
1320
549090
0
0
0
0
0
0
0
0
0
0
0
0
960
294795
0
0
0
0
0
0
0
0
0
0
0
0
240
172470
0
0
0
0
0
0
0
0
0
0
0
0
60
117795
0
0
0
0
0
0
0
0
0
0
0
0
45
91410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
229185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
660
360300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
295875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
191925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
88110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
52890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21555
0
0
3660
8249580
0
0
16470
11540025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38085
10076190
0
0
33330
14325105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15585
8933445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11160
4002405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
866025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
197595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
150585
0
0
1305
2486715
0
0
4425
3415470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6045
3499845
0
0
7995
4692315
0
0
0
0
0
0
0
0
10155
2994075
0
0
0
0
0
0
3645
3546510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3255
2319075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1965
1253430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1065
1187895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15855
31591845
0
0
19395
20828625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102825
34618980
0
0
83670
30557370
0
0
0
0
0
0
0
0
53745
22803135
0
0
0
0
0
0
52230
25198590
0
0
0
0
55335
18286950
0
0
0
0
0
0
0
0
0
0
46980
21304020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8505
10152855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21630
22450845
0
0
18960
20557770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81570
34815000
0
0
81555
24603855
0
0
0
0
0
0
0
0
27720
22554405
0
0
0
0
0
0
36075
19633455
0
0
0
0
39840
18147555
0
0
0
0
0
0
0
0
0
0
12390
14139765
6360
7061850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2940
994260
0
0
855
797595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2415
1381920
0
0
3750
997650
0
0
0
0
0
0
0
0
1245
525915
0
0
0
0
0
0
1020
671295
0
0
0
0
660
372480
0
0
0
0
0
0
0
0
0
0
0
0
345
322155
0
0
0
0
0
0
0
0
0
0
0
0
210
209745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69165
48021945
0
0
2790
37447845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73170
52908240
0
0
90720
57931500
0
0
0
0
0
0
0
0
50640
30082725
0
0
0
0
0
0
0
0
0
0
0
0
27600
15991695
0
0
0
0
0
0
0
0
0
0
0
0
10725
8966250
0
0
0
0
0
0
0
0
0
0
0
0
4770
4944255
0
0
0
0
0
0
0
0
0
0
0
0
105
3521055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
750
878220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3420
2448270
0
0
0
0
0
0
0
0
0
0
0
0
3315
2505765
0
0
0
0
0
0
0
0
0
0
0
0
1800
1989570
0
0
0
0
0
0
0
0
0
0
0
0
1500
1712880
0
0
0
0
0
0
0
0
0
0
0
0
1140
763560
0
0
0
0
0
0
0
0
0
0
0
0
15
584685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3420
2330910
0
0
0
0
0
0
0
0
0
0
0
0
9690
2952255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4710
2966415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2340
1904940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2115
1460985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1275
825765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
456795
0
0
0
0
0
0
0
0
0
0
2370
982875
0
0
0
0
0
0
0
0
945
1014540
0
0
5145
1215915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3915
1569825
0
0
2430
1627905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1410
751170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
327135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
78090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
57870
0
0
1545
2499060
0
0
0
0
0
0
2940
3930660
0
0
0
0
0
0
0
0
8970
4900980
0
0
14385
6180120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19095
6076635
0
0
10020
4938495
0
0
0
0
0
0
0
0
13530
4091400
0
0
0
0
0
0
6180
2007810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
975
699765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
600
320700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
375
204525
0
0
3810
7976415
0
0
0
0
0
0
10845
11873550
0
0
0
0
0
0
0
0
22950
15107370
0
0
43605
20354100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18240
16060110
0
0
20070
17678280
0
0
0
0
0
0
0
0
25620
13114305
0
0
0
0
0
0
9765
12980760
0
0
0
0
7305
5636445
0
0
0
0
0
0
0
0
0
0
3495
6802440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8385
5031975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10500
11486790
0
0
0
0
0
0
825
2125140
0
0
0
0
0
0
0
0
63405
18782805
0
0
13410
4770105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23910
11147130
0
0
52080
18214965
0
0
0
0
0
0
0
0
14145
5817750
0
0
0
0
0
0
43335
16286895
0
0
0
0
13230
4450155
0
0
0
0
0
0
0
0
0
0
11145
9171810
7995
3195165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14310
7822800
0
0
0
0
0
0
990
3542130
0
0
0
0
0
0
0
0
37350
12814785
0
0
30900
8691480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13035
9827685
0
0
21240
12621225
0
0
0
0
0
0
0
0
8880
3843900
0
0
0
0
0
0
7665
8291025
0
0
0
0
6795
2996250
0
0
0
0
0
0
0
0
0
0
0
0
2295
1372020
0
0
0
0
0
0
0
0
0
0
0
0
30
993705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
405
529095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6540
1497315
0
0
3840
2651550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8205
5245995
0
0
7200
4281855
0
0
0
0
0
0
0
0
12135
3737160
0
0
0
0
0
0
0
0
0
0
0
0
4275
3015075
0
0
0
0
0
0
0
0
0
0
0
0
2955
2214630
0
0
0
0
0
0
0
0
0
0
0
0
420
1450095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6855
4013925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14550
4342995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4230
4009560
0
0
0
0
0
0
0
0
0
0
0
0
4080
2998860
0
0
0
0
0
0
0
0
0
0
0
0
2655
2043270
0
0
0
0
0
0
0
0
0
0
0
0
1905
1696560
0
0
0
0
0
0
0
0
0
0
0
0
1275
1202115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3225
872055
0
0
0
0
0
0
0
0
0
0
0
0
3045
1032195
0
0
0
0
0
0
0
0
0
0
0
0
3360
1090620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2280
1156740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
780
734625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1500
571350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
840
541425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1005
1543965
0
0
0
0
0
0
0
0
0
0
0
0
4680
2091510
0
0
0
0
0
0
0
0
2280
1948815
0
0
6600
2330325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4875
2358255
0
0
4740
2201670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2310
1442010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2400
924045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
405
631665
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6240
4741620
0
0
0
0
1500
2074200
0
0
0
0
0
0
13155
5845605
0
0
0
0
0
0
0
0
10095
4147215
0
0
15885
6114900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9405
5172435
0
0
6645
5012055
0
0
0
0
0
0
0
0
1590
2405205
0
0
0
0
0
0
2535
2017515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1170
487575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
451050
0
0
330
1013115
0
0
0
0
0
0
0
0
0
0
150
236805
0
0
0
0
2040
1836450
0
0
0
0
0
0
1575
647655
0
0
0
0
0
0
0
0
7980
2935305
0
0
5745
2748660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4515
2391390
0
0
7560
3316395
0
0
0
0
0
0
0
0
6960
1995975
0
0
0
0
0
0
1125
1251120
0
0
0
0
1275
1119720
0
0
0
0
0
0
0
0
0
0
330
450450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
350655
0
0
1170
1623615
0
0
0
0
0
0
0
0
0
0
540
1420785
0
0
0
0
3825
2499480
0
0
0
0
0
0
15975
4006680
0
0
0
0
0
0
0
0
10050
3362415
0
0
15195
5641740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12810
5121330
0
0
8025
4442265
0
0
0
0
0
0
0
0
9405
3226875
0
0
0
0
0
0
3105
2204415
0
0
0
0
2910
2148195
0
0
0
0
0
0
0
0
0
0
2985
2363385
120
1390485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6105
6223215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41685
9751305
0
0
0
0
0
0
6210
4300665
0
0
0
0
0
0
0
0
36930
11411280
0
0
18765
9026685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31515
13557765
0
0
26850
14927835
0
0
0
0
0
0
0
0
26145
9442935
0
0
0
0
0
0
6375
8318610
0
0
0
0
11310
8010810
0
0
0
0
0
0
0
0
0
0
0
0
1620
5093430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2115
1440600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6030
2001150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9240
2220000
0
0
2310
1441560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2955
2181285
0
0
4035
2099490
0
0
0
0
0
0
0
0
3360
1128315
0
0
0
0
0
0
0
0
0
0
0
0
2610
1387785
0
0
0
0
0
0
0
0
0
0
0
0
660
1055220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
112950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
278970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6915
977880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1395
1296690
0
0
0
0
0
0
0
0
0
0
0
0
825
683025
0
0
0
0
0
0
0
0
0
0
0
0
1110
633900
0
0
0
0
0
0
0
0
0
0
0
0
465
523440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
1141485
0
0
0
0
0
0
0
0
0
0
0
0
2565
1403565
0
0
0
0
0
0
0
0
0
0
0
0
6030
1595895
0
0
0
0
0
0
0
0
0
0
0
0
5460
1729665
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1785
1389555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3480
1081725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
825525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3360
3989940
0
0
0
0
0
0
0
0
0
0
0
0
10260
5141625
0
0
0
0
0
0
0
0
0
0
0
0
24465
5812350
0
0
0
0
0
0
0
0
3360
3681525
0
0
7020
5284020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6960
4823400
0
0
9255
4250520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4680
2880300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1980
2513160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
134580
0
0
0
0
0
0
0
0
0
0
0
0
675
199680
0
0
0
0
2070
786105
0
0
0
0
0
0
2025
792630
0
0
0
0
0
0
0
0
2460
1055670
0
0
3960
1047120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6660
1549830
0
0
5325
1681155
0
0
0
0
0
0
0
0
555
1084590
0
0
0
0
0
0
1845
1318770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
932250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
676830
555
731745
0
0
0
0
0
0
0
0
0
0
4755
1687590
0
0
0
0
2430
1204575
0
0
0
0
0
0
5220
2245485
0
0
0
0
0
0
0
0
3690
1674105
0
0
10440
3043740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6090
2840400
0
0
3060
3000255
0
0
0
0
0
0
0
0
2925
1802805
0
0
0
0
0
0
2325
1471590
0
0
0
0
105
1295955
0
0
0
0
0
0
0
0
0
0
240
1304490
0
0
165
417015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
960
782835
0
0
0
0
0
0
0
0
0
0
2190
847920
0
0
0
0
4860
1302345
0
0
0
0
0
0
6060
2331315
0
0
0
0
0
0
0
0
8310
1846950
0
0
9735
3512220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8100
3362250
0
0
1260
1817715
0
0
0
0
0
0
0
0
4680
3195180
0
0
0
0
0
0
450
722820
0
0
0
0
1590
1940940
0
0
0
0
0
0
0
0
0
0
1050
558180
0
0
240
389370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1395
548220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2160
684525
0
0
0
0
0
0
945
542505
0
0
0
0
0
0
0
0
2370
754695
0
0
1860
740835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
737265
0
0
1095
690810
0
0
0
0
0
0
0
0
1320
670380
0
0
0
0
0
0
960
664080
0
0
0
0
735
514845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3825
3892980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25725
6814515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21120
7451400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23460
8538630
0
0
6000
6164505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5655
2992305
0
0
6585
5602560
0
0
0
0
0
0
0
0
7140
2141415
0
0
0
0
0
0
0
0
0
0
0
0
810
1566240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1890
834030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3480
1071300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4950
1117275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5730
1252725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3525
1068360
0
0
0
0
0
0
0
0
0
0
0
0
990
671880
0
0
0
0
0
0
0
0
0
0
0
0
795
433605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1320
1356375
0
0
0
0
0
0
0
0
0
0
0
0
3060
1315950
0
0
0
0
0
0
0
0
0
0
0
0
4650
1293255
0
0
0
0
0
0
0
0
0
0
0
0
2325
1293480
0
0
0
0
0
0
0
0
0
0
0
0
6945
1511955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4155
1365540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1035
1117815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
54945
0
0
0
0
0
0
0
0
0
0
0
0
315
100560
0
0
0
0
0
0
0
0
0
0
0
0
1800
390675
0
0
0
0
0
0
0
0
0
0
0
0
2220
539760
0
0
0
0
0
0
0
0
585
575955
0
0
6615
688170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
615
725145
0
0
2625
722040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
656355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
284400
0
0
0
0
0
0
0
0
0
0
0
0
1950
564030
0
0
0
0
0
0
0
0
0
0
0
0
2490
730590
0
0
0
0
480
519705
0
0
0
0
0
0
2640
935055
0
0
0
0
0
0
0
0
1830
763470
0
0
2835
1004445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1500
982860
0
0
1335
834915
0
0
0
0
0
0
0
0
180
737505
0
0
0
0
0
0
855
753750
0
0
0
0
0
0
0
0
0
0
0
0
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
179640
510
470085
0
0
0
0
0
0
0
0
0
0
855
406755
0
0
0
0
2700
873000
0
0
0
0
0
0
1725
673110
0
0
0
0
0
0
0
0
4110
1288140
0
0
3285
803535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3840
1412730
0
0
2220
1140120
0
0
0
0
0
0
0
0
285
842745
0
0
0
0
0
0
630
934425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
115065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
158295
0
0
0
0
0
0
0
0
0
0
330
193665
0
0
0
0
495
212505
0
0
0
0
0
0
1005
371325
0
0
0
0
0
0
0
0
1140
284160
0
0
870
387465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
480
436095
0
0
450
344205
0
0
0
0
0
0
0
0
150
322650
0
0
0
0
0
0
255
319770
0
0
60
82215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
110160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
630
163785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
645
249390
0
0
0
0
0
0
420
588960
0
0
0
0
0
0
0
0
1320
308805
0
0
1320
834015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1485
813885
0
0
225
663960
0
0
0
0
0
0
0
0
645
652770
0
0
0
0
0
0
360
529290
0
0
180
285090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
412905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2280
536055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1710
586005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1905
666060
0
0
1485
573015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1890
579105
0
0
1830
797325
0
0
0
0
0
0
0
0
690
471795
0
0
0
0
0
0
0
0
0
0
1320
831675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4185
1104540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5130
1292925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4890
1197375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7725
1195050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5280
954210
0
0
0
0
0
0
0
0
0
0
0
0
450
714270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
66675
0
0
0
0
0
0
0
0
0
0
0
0
600
149820
0
0
0
0
0
0
0
0
0
0
0
0
1485
397155
0
0
0
0
0
0
0
0
0
0
0
0
2565
421920
0
0
0
0
0
0
0
0
0
0
0
0
1035
463410
0
0
0
0
0
0
0
0
0
0
0
0
1635
562365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
544005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
224160
0
0
0
0
0
0
0
0
0
0
0
0
1545
458280
0
0
0
0
0
0
0
0
0
0
0
0
2055
623715
0
0
0
0
0
0
0
0
0
0
0
0
2715
822150
0
0
0
0
0
0
0
0
0
0
0
0
2250
877110
0
0
0
0
0
0
0
0
1800
762945
0
0
3900
994785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
285
744105
0
0
765
782625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
360
181335
0
0
0
0
0
0
0
0
0
0
0
0
1440
364410
0
0
0
0
0
0
0
0
0
0
0
0
2835
621900
0
0
0
0
330
408585
0
0
0
0
0
0
2580
667260
0
0
0
0
0
0
0
0
1980
622425
0
0
2730
741720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
405
567510
0
0
270
620730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
105690
285
154830
0
0
0
0
0
0
0
0
0
0
570
163680
0
0
0
0
360
193815
0
0
0
0
0
0
450
202035
0
0
0
0
0
0
0
0
660
271680
0
0
1035
209445
0
0
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
220110
0
0
435
270780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
208815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
675
279075
0
0
0
0
0
0
0
0
0
0
330
228315
0
0
0
0
705
364740
0
0
0
0
0
0
645
352845
0
0
0
0
0
0
0
0
825
396960
0
0
630
341595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
347415
0
0
75
376140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
90855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
125940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2190
232005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1800
298605
0
0
0
0
0
0
360
146295
0
0
0
0
0
0
0
0
2175
351495
0
0
600
206055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
555
335070
0
0
330
351780
0
0
90
79275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
111015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1020
158730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
162450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
615
193020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
690
200460
0
0
1065
195090
0
0
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
164310
0
0
240
203175
0
0
180
280125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1215
442065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3480
824565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1785
966960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3030
920070
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1575
1006350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
805515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
57720
0
0
0
0
0
0
0
0
0
0
0
0
375
108675
0
0
0
0
0
0
0
0
0
0
0
0
330
147945
0
0
0
0
0
0
0
0
0
0
0
0
510
262770
0
0
0
0
0
0
0
0
0
0
0
0
300
280440
0
0
0
0
0
0
0
0
0
0
0
0
645
306630
0
0
0
0
0
0
0
0
0
0
0
0
270
269460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
45240
0
0
0
0
0
0
0
0
0
0
0
0
105
83055
0
0
0
0
0
0
0
0
0
0
0
0
255
120660
0
0
0
0
0
0
0
0
0
0
0
0
540
128670
0
0
0
0
0
0
0
0
0
0
0
0
195
136665
0
0
0
0
0
0
0
0
60
77340
0
0
90
140985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
85695
0
0
0
0
0
0
0
0
0
0
0
0
330
112485
0
0
0
0
0
0
0
0
0
0
0
0
105
139575
0
0
0
0
210
139530
0
0
0
0
0
0
375
122460
0
0
0
0
0
0
0
0
360
146385
0
0
330
168450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42375
90
64485
0
0
0
0
0
0
0
0
0
0
165
78675
0
0
0
0
285
87375
0
0
0
0
0
0
150
81705
0
0
0
0
0
0
0
0
210
79560
0
0
495
86730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
80370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
495
108390
0
0
0
0
0
0
0
0
0
0
105
50085
0
0
0
0
390
126780
0
0
0
0
0
0
180
70335
0
0
0
0
0
0
0
0
570
116355
0
0
435
79680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
83325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
97575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
106125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
105240
0
0
0
0
0
0
180
85110
0
0
0
0
0
0
0
0
225
100710
0
0
180
87570
0
0
0
0
0
0
0
0
0
0
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
32100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
37110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
44400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
50820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
52770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
41070
0
0
15
46425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
34140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
50205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
47775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
67455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
62685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
59595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9135
3511515
6960
3011940
5655
2777820
2700
1438170
1485
666150
420
325365
300
158685
9495
2971080
10830
3225105
0
0
0
0
0
0
0
0
0
0
0
0
5475
2020590
0
0
6690
2455305
0
0
0
0
0
0
0
0
0
0
4245
1190985
0
0
0
0
2700
1169010
0
0
0
0
0
0
0
0
2190
901035
0
0
0
0
0
0
1575
664395
0
0
0
0
0
0
1440
630990
0
0
0
0
0
0
0
0
840
389175
0
0
0
0
2025
512250
0
0
0
0
0
0
0
0
0
0
165
369300
0
0
1965
422235
0
0
0
0
0
0
0
0
0
0
0
0
450
444585
12015
4585650
0
0
12180
4745445
9975
4250910
5985
2367555
2700
1199595
1260
471915
1650
326130
11595
4075695
13995
4035465
13965
5287560
0
0
0
0
0
0
0
0
0
0
0
0
10125
2930130
0
0
9600
3501450
0
0
0
0
0
0
0
0
0
0
4080
1873155
0
0
0
0
3570
2097165
0
0
0
0
0
0
0
0
3105
1261530
0
0
0
0
0
0
1365
1538700
0
0
0
0
0
0
2670
970680
0
0
0
0
0
0
0
0
840
916020
0
0
0
0
3615
653880
0
0
0
0
0
0
0
0
0
0
735
601650
0
0
1575
612345
0
0
0
0
0
0
0
0
0
0
0
0
8610
4757760
12660
6460695
0
0
16395
8699295
6510
3994515
4170
1698780
1425
698880
1140
426675
0
0
29175
6114420
18945
6547500
22350
8134170
0
0
0
0
0
0
0
0
10920
3642060
0
0
12015
4383720
0
0
10815
4021215
0
0
0
0
0
0
0
0
0
0
4740
2046630
0
0
0
0
8100
2624385
0
0
0
0
0
0
0
0
3360
1255440
0
0
0
0
0
0
5445
1993665
0
0
0
0
0
0
2550
895005
0
0
0
0
0
0
0
0
2640
1096800
0
0
0
0
3285
736125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1890
679905
0
0
0
0
0
0
0
0
0
0
46470
17096160
52230
25584420
84690
51702795
0
0
29160
26679015
7710
3928110
2580
1475190
2685
791835
0
0
0
0
178185
53137575
126060
50993385
124620
48260490
0
0
0
0
0
0
0
0
150975
41286510
0
0
57180
26346450
0
0
72645
22422075
0
0
0
0
96555
33260370
0
0
0
0
30675
10576125
0
0
0
0
32685
18486480
0
0
0
0
0
0
0
0
9090
4585650
0
0
0
0
0
0
29385
14678910
0
0
0
0
0
0
5580
2676285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3300
1588200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1770
1215720
0
0
0
0
0
0
0
0
3510
1519215
4320
1964130
6270
2798400
6660
3631140
0
0
4215
2070585
1995
839070
1200
481260
0
0
0
0
0
0
9525
3512850
12330
3452925
5175
1830675
0
0
0
0
0
0
0
0
6705
2214435
0
0
5865
2161995
0
0
3900
1096200
0
0
0
0
3240
1665990
0
0
0
0
2205
1147170
0
0
0
0
2370
850350
2760
1151385
0
0
0
0
0
0
1620
650220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
397395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1320
350400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
381615
0
0
0
0
0
0
2310
656400
2430
855840
3465
1054800
3540
1272465
4560
1496190
0
0
2475
837090
1440
469035
0
0
0
0
0
0
0
0
7350
1836300
2880
1179360
6795
1022610
0
0
0
0
0
0
0
0
3060
1249080
0
0
2640
749880
0
0
2655
511635
0
0
0
0
1830
740910
0
0
0
0
1110
433785
0
0
0
0
0
0
1260
494655
0
0
0
0
0
0
510
268500
0
0
0
0
360
336480
0
0
0
0
0
0
0
0
420
218640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
88620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
106245
0
0
0
0
270
174630
495
240780
960
309585
825
408210
1095
441615
1710
532545
0
0
1215
381510
0
0
0
0
0
0
0
0
0
0
1245
437280
1875
575820
2445
421200
0
0
0
0
0
0
0
0
510
298350
0
0
1065
345915
0
0
0
0
0
0
0
0
180
160335
0
0
0
0
510
239280
0
0
0
0
0
0
180
85695
0
0
0
0
0
0
540
137925
0
0
0
0
135
67080
0
0
0
0
0
0
0
0
240
61920
0
0
165
69135
0
0
0
0
0
0
0
0
0
0
120
49290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48030
0
0
210
108855
255
129210
810
177255
675
216375
840
230625
840
304425
525
340125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1605
516960
1155
437415
0
0
0
0
0
0
0
0
0
0
1725
352005
0
0
1005
366840
0
0
0
0
0
0
0
0
435
202935
0
0
0
0
255
115560
0
0
0
0
0
0
300
129795
0
0
0
0
0
0
345
89385
0
0
0
0
120
96510
0
0
0
0
0
0
0
0
120
79110
0
0
90
82725
0
0
0
0
0
0
0
0
0
0
255
105585
150
73995
0
0
0
0
0
0
0
0
0
0
0
0
105
91050
6105
3325335
6450
3492600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15435
3641565
13155
3200505
8820
2709495
5985
1629030
2415
491595
855
205065
180
108420
9480
2952360
15555
3970020
0
0
0
0
0
0
0
0
0
0
0
0
7155
1731495
0
0
2790
2478705
0
0
0
0
0
0
0
0
0
0
2490
878490
0
0
0
0
1740
774075
0
0
0
0
0
0
0
0
2250
635205
0
0
0
0
0
0
930
425670
0
0
0
0
0
0
1980
522600
0
0
0
0
0
0
0
0
570
160710
0
0
0
0
1845
432060
0
0
0
0
0
0
0
0
0
0
195
180300
0
0
6585
4711530
8055
5101005
9960
4934775
0
0
0
0
0
0
0
0
0
0
14445
5217615
0
0
20100
5657610
16695
4337415
10050
3269175
4770
864090
1515
349320
390
158535
11535
4892085
16065
4918575
15435
5587560
0
0
0
0
0
0
0
0
0
0
0
0
5910
3155430
0
0
5415
2762280
0
0
0
0
0
0
0
0
0
0
6285
1849920
0
0
0
0
3120
1440915
0
0
0
0
0
0
0
0
3435
1167150
0
0
0
0
0
0
1770
790785
0
0
0
0
0
0
4050
669240
0
0
0
0
0
0
0
0
255
753555
0
0
0
0
2910
590430
0
0
0
0
0
0
0
0
0
0
750
847590
0
0
22455
19280820
28890
18796530
33315
21998100
0
0
0
0
0
0
0
0
23415
9496170
49935
14368065
0
0
54045
18478065
38430
11523555
12465
2839800
5535
1250370
2355
611640
0
0
67230
22256370
45465
19359315
43380
18247815
0
0
0
0
0
0
0
0
46935
16449765
0
0
16050
8639415
0
0
16335
10031355
0
0
0
0
0
0
0
0
0
0
11460
5033340
0
0
0
0
9810
7243305
0
0
0
0
0
0
0
0
8220
3307380
0
0
0
0
0
0
2250
4630350
0
0
0
0
0
0
9660
2260560
0
0
0
0
0
0
0
0
2715
3176790
0
0
0
0
4605
2027490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15540
15408210
21000
16065465
11565
11298705
0
0
0
0
0
0
11715
4194225
20715
6837885
32655
11680110
0
0
37530
12019770
21270
4410675
7950
1690845
3525
766830
0
0
0
0
33330
10632930
27600
11850600
28890
10770630
0
0
0
0
0
0
0
0
12105
6908970
0
0
15900
4872165
0
0
23490
7736295
0
0
0
0
10050
4779660
0
0
0
0
4395
1858305
0
0
0
0
11280
5981310
0
0
0
0
0
0
0
0
3120
1081785
0
0
0
0
0
0
5280
3335310
0
0
0
0
0
0
2445
824910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
761220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16095
15169815
13140
13901625
9120
11905815
0
0
0
0
6420
2848875
11940
4521960
27840
8461965
33915
12436440
0
0
17025
4267545
6555
1420740
2505
569460
0
0
0
0
0
0
29475
11752335
25095
10849440
34065
10620315
0
0
0
0
0
0
0
0
15240
6630315
0
0
11175
4593135
0
0
18585
8847645
0
0
0
0
12945
4921575
0
0
0
0
7620
2319780
0
0
0
0
15105
6736560
7125
2712660
0
0
0
0
0
0
1440
857880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2010
613215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1425
645540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3105
2765790
2175
2632860
1170
1215720
0
0
1260
869340
1245
1034355
3330
1520625
8955
2406360
8625
2850990
0
0
5535
1605405
2100
820155
0
0
0
0
0
0
0
0
3525
1836210
6060
2211360
8520
1942635
0
0
0
0
0
0
0
0
2130
845415
0
0
5520
1433655
0
0
4230
1323450
0
0
0
0
660
493485
0
0
0
0
1155
718035
0
0
0
0
0
0
510
348405
0
0
0
0
0
0
975
504060
0
0
0
0
480
286425
0
0
0
0
0
0
0
0
420
172395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
160740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4050
2509335
1575
1680990
930
1329870
930
368505
1215
566160
1770
785040
3210
1222875
3615
1528695
4470
1836480
0
0
3705
1663080
0
0
0
0
0
0
0
0
0
0
6840
2070735
3540
1817580
4560
1642185
0
0
0
0
0
0
0
0
1545
1177260
0
0
2880
1139760
0
0
0
0
0
0
0
0
1050
760500
0
0
0
0
675
654735
0
0
0
0
0
0
1155
390045
0
0
0
0
0
0
390
135195
0
0
0
0
930
346305
0
0
0
0
0
0
0
0
90
48945
0
0
510
285495
0
0
0
0
0
0
0
0
0
0
105
64920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
720
328530
360
381750
45
48930
45
73875
225
129375
390
232590
585
233325
615
259170
1935
515100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2190
615855
1125
328620
0
0
0
0
0
0
0
0
0
0
1530
428415
0
0
765
224775
0
0
0
0
0
0
0
0
1800
300465
0
0
0
0
480
121515
0
0
0
0
0
0
960
266850
0
0
0
0
0
0
390
94050
0
0
0
0
570
236385
0
0
0
0
0
0
0
0
150
77550
0
0
210
250455
0
0
0
0
0
0
0
0
0
0
225
75990
2295
1455765
0
0
5670
2634000
0
0
0
0
0
0
0
0
0
0
5250
2200935
10725
3632610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16875
5689455
12120
3710775
7440
2477220
4125
1434045
2415
767775
1185
360660
240
154125
16410
6100590
6465
4883265
0
0
0
0
0
0
0
0
0
0
0
0
8580
4027335
0
0
4215
2085045
0
0
0
0
0
0
0
0
0
0
3345
1750575
0
0
0
0
3585
1032000
0
0
0
0
0
0
0
0
3120
751125
0
0
0
0
0
0
2670
820470
0
0
0
0
0
0
1740
664500
0
0
0
0
0
0
0
0
600
762795
0
0
0
0
0
0
5850
5126520
0
0
38100
27753495
0
0
0
0
0
0
0
0
29685
15951960
24255
7547535
87180
30226200
0
0
0
0
0
0
0
0
0
0
41745
23905125
0
0
45045
20030160
27990
11559585
15495
4426515
7125
2399295
5520
846765
975
332445
61020
24481005
27240
23562735
22050
20808360
0
0
0
0
0
0
0
0
0
0
0
0
28065
17597490
0
0
10575
6685965
0
0
0
0
0
0
0
0
0
0
29070
13614960
0
0
0
0
1905
2888520
0
0
0
0
0
0
0
0
5700
1810950
0
0
0
0
0
0
1170
451710
0
0
0
0
0
0
3330
1568310
0
0
0
0
0
0
0
0
750
573765
0
0
3630
3274185
0
0
5535
5265855
0
0
5445
5109225
0
0
0
0
0
0
0
0
11640
5002380
19920
7397295
16245
6022365
0
0
0
0
0
0
0
0
8640
4150620
18960
6293535
0
0
14805
6083175
12885
3204525
6570
2084520
3720
1110750
1275
496560
0
0
9420
6248340
9345
4707960
11145
4436160
0
0
0
0
0
0
0
0
11880
4856970
0
0
6120
2920740
0
0
6180
2613390
0
0
0
0
0
0
0
0
0
0
5610
1744740
0
0
0
0
4650
1402605
0
0
0
0
0
0
0
0
6795
1291485
0
0
0
0
0
0
720
1585365
0
0
0
0
0
0
2490
1154460
0
0
0
0
0
0
0
0
1005
1655565
0
0
10590
9361560
0
0
11595
9581445
0
0
5595
7328700
0
0
0
0
0
0
0
0
30960
12237945
30150
11553600
28575
10443960
0
0
0
0
0
0
13380
3971835
16485
6396465
24705
9611100
0
0
24360
9156630
19425
5509380
9120
2375460
4035
1073145
0
0
0
0
13245
7995975
13620
5690685
15225
9179025
0
0
0
0
0
0
0
0
17250
6137430
0
0
5535
2460270
0
0
6390
6331950
0
0
0
0
7845
3568665
0
0
0
0
3765
1460280
0
0
0
0
2865
3314115
0
0
0
0
0
0
0
0
3270
1059570
0
0
0
0
0
0
2385
3073185
0
0
0
0
0
0
3150
1000260
0
0
0
0
0
0
0
0
0
0
0
0
3870
3837750
0
0
3060
3699840
0
0
1065
983595
0
0
0
0
0
0
0
0
10620
4574115
9270
4263315
4740
1804200
0
0
0
0
2910
1094970
4125
1732320
8295
2836695
11190
4477785
0
0
11760
3790845
9000
1892325
3015
839070
0
0
0
0
0
0
7410
2855115
7155
3559050
11340
4202550
0
0
0
0
0
0
0
0
3180
1379565
0
0
5205
1811295
0
0
5685
3331755
0
0
0
0
2445
984135
0
0
0
0
1515
741435
0
0
0
0
4035
1990035
2970
797205
0
0
0
0
0
0
1680
560910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1305
528870
0
0
0
0
0
0
0
0
0
0
0
0
12675
8382270
0
0
2055
1734375
0
0
2655
2217750
0
0
0
0
0
0
0
0
21435
9202635
5190
2344335
9960
3987270
0
0
1665
1012785
3630
1514295
6420
2190360
9840
3752115
13290
6009840
0
0
20535
6197010
7095
2607960
0
0
0
0
0
0
0
0
12060
7017630
25935
9859545
17850
9092235
0
0
0
0
0
0
0
0
7395
4124295
0
0
6210
5574855
0
0
12150
7149195
0
0
0
0
8700
3274140
0
0
0
0
5505
3459855
0
0
0
0
0
0
6420
2010120
0
0
0
0
0
0
1005
457185
0
0
0
0
4140
1794810
0
0
0
0
0
0
0
0
675
404025
0
0
0
0
0
0
0
0
0
0
0
0
1980
1200495
0
0
750
485160
0
0
0
0
0
0
0
0
0
0
0
0
4725
1529865
2760
774090
3390
1987890
915
411045
1500
554880
2445
812385
3225
1265325
5160
1812030
7845
2739090
0
0
5790
1317630
0
0
0
0
0
0
0
0
0
0
9840
2452095
7005
3054075
9000
2729025
0
0
0
0
0
0
0
0
5085
1595190
0
0
5490
2471490
0
0
0
0
0
0
0
0
4425
1121040
0
0
0
0
1680
1038735
0
0
0
0
0
0
3900
1009395
0
0
0
0
0
0
615
252885
0
0
0
0
2865
1012470
0
0
0
0
0
0
0
0
390
248190
0
0
0
0
0
0
0
0
0
0
0
0
915
856770
0
0
555
489450
0
0
0
0
0
0
0
0
0
0
0
0
2490
916650
1290
691980
120
109950
420
150735
525
186810
375
277170
900
461625
1650
699960
2550
910065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2310
1343835
2145
1079130
0
0
0
0
0
0
0
0
0
0
990
987645
0
0
1590
826995
0
0
0
0
0
0
0
0
540
647145
0
0
0
0
1305
655935
0
0
0
0
0
0
870
396270
0
0
0
0
0
0
795
230280
0
0
0
0
720
376230
0
0
0
0
0
0
0
0
285
203775
4110
1770885
0
0
0
0
26805
12144255
0
0
0
0
0
0
0
0
6120
2535825
0
0
42870
13143900
0
0
0
0
0
0
0
0
0
0
22170
9804810
47070
13225305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12045
10204470
8130
6729120
7350
2053530
4500
1457115
3990
1108545
1380
835320
3390
724920
22800
11137170
22425
11365440
0
0
0
0
0
0
0
0
0
0
0
0
9465
5051430
0
0
12195
5835810
0
0
0
0
0
0
0
0
0
0
4935
1588785
0
0
0
0
4410
2475600
0
0
0
0
0
0
0
0
3525
1470420
0
0
0
0
0
0
2325
2479875
0
0
0
0
0
0
0
0
2985
1382430
0
0
0
0
4020
1989390
0
0
0
0
0
0
0
0
4500
1763955
0
0
8925
2331450
0
0
0
0
0
0
0
0
7680
3068550
10185
3636360
11790
2836110
0
0
0
0
0
0
0
0
0
0
6525
2957625
0
0
3840
2871795
5415
1376415
2760
808800
2625
680175
1275
565860
1350
367005
6435
2944965
6690
2778495
6885
2740740
0
0
0
0
0
0
0
0
0
0
0
0
7740
1914555
0
0
5295
2048400
0
0
0
0
0
0
0
0
0
0
3825
754245
0
0
0
0
4230
1730070
0
0
0
0
0
0
0
0
2460
750705
0
0
0
0
0
0
825
1465020
0
0
0
0
0
0
0
0
3240
2359050
0
0
0
0
3090
2497260
0
0
0
0
4515
2423505
0
0
11190
3032310
0
0
11085
2796360
0
0
0
0
0
0
0
0
12405
3895530
12435
3441165
11985
3895560
0
0
0
0
0
0
0
0
9135
2787270
4290
3359745
0
0
7545
2902635
8235
1877565
5010
1428585
3270
1112070
3015
786915
0
0
9180
4063845
8625
3211545
6840
3453345
0
0
0
0
0
0
0
0
7455
2246505
0
0
5955
1672935
0
0
2010
1595820
0
0
0
0
0
0
0
0
0
0
5160
1105500
0
0
0
0
2070
610260
0
0
0
0
0
0
0
0
3510
956475
0
0
0
0
0
0
930
666645
0
0
765
996285
0
0
0
0
3795
2689650
0
0
0
0
390
416085
0
0
0
0
3345
1559325
0
0
8040
3046470
0
0
2475
1020540
0
0
0
0
0
0
0
0
6480
2555040
9705
3405240
6525
2134650
0
0
0
0
0
0
3540
1426590
4815
2004435
4125
2558115
0
0
4815
2607465
7845
2349765
2880
1819305
4815
1394940
0
0
0
0
4950
2544900
5085
1658745
7065
2975370
0
0
0
0
0
0
0
0
4740
1967145
0
0
3450
1084080
0
0
4380
1455975
0
0
0
0
4260
1602660
0
0
0
0
3450
807120
0
0
0
0
660
1385655
0
0
0
0
0
0
0
0
3360
755640
0
0
0
0
0
0
1155
1397355
0
0
3090
2451960
0
0
0
0
1275
1663650
0
0
0
0
705
826395
0
0
0
0
8175
2984430
0
0
4365
2029665
0
0
3465
1496025
0
0
0
0
0
0
0
0
10065
3216990
5985
2700600
11070
3014820
0
0
0
0
2175
820710
1590
1070790
7005
1743930
7230
2695290
0
0
11220
3435375
6885
3002340
5040
2184285
0
0
0
0
0
0
5955
2984805
7095
2463435
3885
2993070
0
0
0
0
0
0
0
0
5190
2366970
0
0
2055
1174365
0
0
1770
1670400
0
0
0
0
6180
1686975
0
0
0
0
2550
748605
0
0
0
0
2055
1616430
4260
1575195
0
0
0
0
0
0
2100
790875
0
0
0
0
0
0
0
0
0
0
1995
1925475
0
0
0
0
870
938955
0
0
0
0
0
0
0
0
0
0
7995
2663010
0
0
2685
1084215
0
0
3465
1522095
0
0
0
0
0
0
0
0
9030
3265005
11190
3320985
9180
2518950
0
0
1365
563310
1695
733440
3795
1086450
7005
1747155
6765
3431385
0
0
7830
3597390
6705
2584920
0
0
0
0
0
0
0
0
6690
2682780
4110
2951715
9390
3714900
0
0
0
0
0
0
0
0
5490
1747110
0
0
5550
2314350
0
0
7350
2402835
0
0
0
0
6945
1640565
0
0
0
0
1485
419310
0
0
0
0
0
0
3360
1458585
0
0
0
0
0
0
420
358665
0
0
0
0
0
0
0
0
0
0
5520
3359175
0
0
0
0
330
244830
0
0
0
0
0
0
0
0
0
0
10485
3441510
0
0
1320
395130
0
0
0
0
0
0
0
0
0
0
0
0
14010
3942240
6990
2393100
5370
2285595
1095
329910
870
456585
1965
722970
3180
1052505
6615
2581170
10845
3250905
0
0
10005
3266955
0
0
0
0
0
0
0
0
0
0
5790
3194580
6495
3441105
12195
3670725
0
0
0
0
0
0
0
0
2910
1500900
0
0
3090
1792845
0
0
0
0
0
0
0
0
4275
1246275
0
0
0
0
2340
419340
0
0
0
0
0
0
2610
1216455
0
0
0
0
0
0
795
491115
0
0
0
0
0
0
0
0
0
0
690
512430
0
0
0
0
105
104730
0
0
0
0
0
0
0
0
0
0
2700
631080
0
0
270
218715
0
0
0
0
0
0
0
0
0
0
0
0
6285
1471050
2550
1220160
735
231840
540
336555
1650
570975
2415
823110
3555
1322235
4815
1872405
6105
2076780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3600
1853190
4455
2035440
0
0
0
0
0
0
0
0
0
0
2070
1100490
0
0
2850
1287360
0
0
0
0
0
0
0
0
3240
951285
0
0
0
0
1245
527670
0
0
0
0
0
0
1500
966090
0
0
0
0
0
0
1155
481725
1485
447150
0
0
0
0
0
0
1785
1258785
0
0
0
0
0
0
1605
642525
0
0
0
0
4545
1183875
0
0
0
0
0
0
0
0
3975
1398240
0
0
8790
1297905
0
0
0
0
0
0
0
0
0
0
6510
2039040
4275
1667145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2925
2116920
4680
1314420
1830
867945
1200
587550
570
482415
690
447015
270
361995
2850
1302480
7380
1927875
0
0
0
0
0
0
0
0
0
0
0
0
3315
911175
0
0
6570
1495350
0
0
0
0
0
0
0
0
0
0
2685
882975
0
0
0
0
2175
1414020
0
0
0
0
0
0
0
0
0
0
1605
782685
0
0
0
0
0
0
1770
1122795
0
0
0
0
0
0
3285
1046415
0
0
0
0
5640
1266480
0
0
0
0
0
0
0
0
5565
1982865
0
0
6945
1612170
0
0
0
0
0
0
0
0
4950
1928160
3420
2227320
4905
1734600
0
0
0
0
0
0
0
0
0
0
3390
1645800
0
0
2610
1753695
2115
879360
1815
582795
495
419850
1155
449595
450
326610
4275
2213775
4245
1581615
6075
1756605
0
0
0
0
0
0
0
0
0
0
0
0
3660
1030470
0
0
2565
1172685
0
0
0
0
0
0
0
0
0
0
2265
945300
0
0
0
0
2640
1300935
0
0
0
0
0
0
0
0
0
0
1080
858375
0
0
0
0
0
0
225
182670
0
0
0
0
0
0
3975
1045275
0
0
0
0
1815
348390
0
0
0
0
2115
944415
0
0
3480
1060110
0
0
2970
793215
0
0
0
0
0
0
0
0
2400
1404735
3975
1254165
3510
1129470
0
0
0
0
0
0
0
0
2505
1095420
2550
1496010
0
0
2925
1155855
3810
921780
1455
693405
1335
662610
420
511845
0
0
5565
1602195
4035
1163865
4245
1759770
0
0
0
0
0
0
0
0
5730
1147065
0
0
4170
957495
0
0
4020
1605945
0
0
0
0
0
0
0
0
0
0
2325
899910
0
0
0
0
1380
1714725
0
0
0
0
0
0
0
0
0
0
1065
1137465
0
0
0
0
0
0
270
278055
1050
817830
0
0
0
0
3375
1456305
0
0
0
0
1800
559980
0
0
0
0
3120
1215990
0
0
3525
1379205
0
0
4365
1350360
0
0
0
0
0
0
0
0
3285
1566645
3945
1672395
5340
1506030
0
0
0
0
0
0
1275
677115
2175
951165
3030
1538970
0
0
3555
1430505
1410
1051740
1680
869700
1065
670020
0
0
0
0
3060
1739025
5010
1538085
3285
1635510
0
0
0
0
0
0
0
0
5115
1231905
0
0
4275
1426575
0
0
2295
702120
0
0
0
0
2220
1076685
0
0
0
0
2820
1204020
0
0
0
0
1575
764295
0
0
600
513225
0
0
0
0
0
0
480
653730
0
0
0
0
0
0
0
0
1470
681720
0
0
0
0
1755
876465
0
0
0
0
735
488640
0
0
0
0
2475
1081290
0
0
3495
1034490
0
0
3180
1076970
0
0
0
0
0
0
0
0
3930
1403940
4425
1435770
5970
1677585
0
0
0
0
720
412725
1095
532605
2340
808665
2715
1160550
0
0
2355
1456905
2820
1427220
2520
991800
0
0
0
0
0
0
5115
1762425
2145
854205
3840
1353225
0
0
0
0
0
0
0
0
5535
1638270
0
0
3585
731205
0
0
1500
1113315
0
0
0
0
4170
1585890
0
0
0
0
2685
782160
0
0
0
0
1425
1077270
0
0
600
505335
0
0
0
0
0
0
360
233505
0
0
0
0
0
0
0
0
1860
689265
0
0
0
0
885
275715
0
0
0
0
0
0
0
0
0
0
2025
768600
0
0
2400
638235
0
0
2040
506715
0
0
0
0
0
0
0
0
2400
937380
3120
943845
3300
981765
0
0
255
167115
525
261945
870
308820
1500
505320
2700
880455
0
0
3225
914790
2625
932565
0
0
0
0
0
0
0
0
2625
1041015
2040
810360
1680
949890
0
0
0
0
0
0
0
0
2550
848685
0
0
1440
320205
0
0
1350
962910
0
0
0
0
1965
938670
0
0
0
0
1125
354015
0
0
0
0
0
0
0
0
1455
1057380
0
0
0
0
0
0
420
160635
0
0
0
0
0
0
0
0
4470
1412595
0
0
0
0
810
243960
0
0
0
0
0
0
0
0
0
0
4380
1551975
0
0
3885
1010730
0
0
0
0
0
0
0
0
0
0
0
0
6945
2104545
3420
1801320
5835
1574160
795
273165
870
374115
825
453750
1575
683970
3840
1182705
2130
1751070
0
0
4350
1520790
0
0
0
0
0
0
0
0
0
0
7725
1848780
1425
966375
5760
2306280
0
0
0
0
0
0
0
0
4380
1651905
0
0
2520
538845
0
0
0
0
0
0
0
0
2805
1581585
0
0
0
0
870
554115
0
0
0
0
0
0
0
0
4980
3166995
0
0
0
0
0
0
90
180690
0
0
0
0
0
0
0
0
7515
3076080
0
0
0
0
315
293340
0
0
0
0
0
0
0
0
0
0
8625
3678480
0
0
2445
1593855
0
0
0
0
0
0
0
0
0
0
0
0
9795
3845550
5835
3262035
555
248010
645
319740
705
419250
1365
774435
3345
1336350
4185
2243595
5145
3163785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4950
3255030
9660
2323050
0
0
0
0
0
0
0
0
0
0
3030
1200585
0
0
2880
1054530
0
0
0
0
0
0
0
0
1545
1047450
0
0
0
0
1800
1034205
705
308475
0
0
0
0
0
0
0
0
1605
1016250
0
0
0
0
1365
422220
0
0
0
0
0
0
4515
940800
0
0
0
0
0
0
5175
1254165
0
0
0
0
6165
1078380
0
0
0
0
0
0
0
0
5685
1666395
0
0
5655
1584105
0
0
0
0
0
0
0
0
0
0
5220
1901655
6405
2131845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2880
1595790
4485
1154895
2565
848205
1170
374280
405
263160
510
150930
195
100155
6150
1576980
6015
2272545
0
0
0
0
0
0
0
0
0
0
0
0
5250
1543110
0
0
3540
2205225
0
0
0
0
0
0
0
0
0
0
0
0
525
293910
0
0
0
0
0
0
0
0
210
131265
0
0
0
0
1080
353325
0
0
0
0
0
0
945
260550
0
0
0
0
0
0
2910
741015
0
0
0
0
1845
356880
0
0
0
0
0
0
0
0
1965
804345
0
0
1905
569715
0
0
0
0
0
0
0
0
1620
899835
2250
1040775
2445
1051200
0
0
0
0
0
0
0
0
0
0
1050
590160
0
0
2175
738765
2175
552495
855
336255
675
228360
240
133170
105
68700
2565
1100220
3210
756240
4065
1283130
0
0
0
0
0
0
0
0
0
0
0
0
2925
746325
0
0
1980
1201035
0
0
0
0
0
0
0
0
0
0
0
0
690
535425
0
0
0
0
0
0
0
0
195
236415
0
0
0
0
2730
737460
0
0
0
0
0
0
1725
474780
0
0
0
0
0
0
1800
862500
0
0
0
0
3645
785250
0
0
0
0
2670
1194225
0
0
2250
1061220
0
0
3555
820650
0
0
0
0
0
0
0
0
3690
1569450
2355
1361430
3030
1178280
0
0
0
0
0
0
0
0
1215
834915
2145
1292115
0
0
1995
1221630
1275
662520
1005
440010
255
238830
105
127575
0
0
5145
1850100
5640
1467225
3000
1467180
0
0
0
0
0
0
0
0
3375
1730115
0
0
2925
1404375
0
0
3285
1615800
0
0
0
0
0
0
0
0
0
0
0
0
540
496305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1365
571725
0
0
0
0
0
0
285
216285
1155
434190
0
0
0
0
2550
638850
0
0
0
0
2310
460680
0
0
0
0
1665
660870
0
0
3060
785025
0
0
3315
788325
0
0
0
0
0
0
0
0
1800
921210
3510
930750
4545
962205
0
0
0
0
0
0
1050
497100
1305
736380
3000
946395
0
0
1545
764445
1545
549570
540
250485
225
136080
0
0
0
0
4110
1120170
5445
1027185
4380
1195215
0
0
0
0
0
0
0
0
2370
1074360
0
0
4035
1128540
0
0
1200
1201815
0
0
0
0
0
0
0
0
0
0
0
0
360
335505
0
0
0
0
0
0
780
289020
0
0
0
0
0
0
870
346650
0
0
0
0
0
0
0
0
645
398160
0
0
0
0
915
404865
0
0
0
0
840
337920
0
0
0
0
735
499335
0
0
1455
533655
0
0
1425
653310
0
0
0
0
0
0
0
0
1470
674730
1875
788715
2505
733215
0
0
0
0
210
292095
525
479130
705
625200
2205
779655
0
0
1755
729615
1560
432045
435
255885
0
0
0
0
0
0
1905
954255
4125
880830
2685
927510
0
0
0
0
0
0
0
0
1440
790560
0
0
2190
888150
0
0
1620
1091670
0
0
240
248415
0
0
0
0
0
0
0
0
150
157140
0
0
0
0
0
0
660
338520
0
0
0
0
0
0
600
264210
0
0
0
0
0
0
0
0
1245
413160
0
0
0
0
1620
547065
0
0
0
0
0
0
0
0
0
0
1455
565245
0
0
2340
690030
0
0
1110
522360
0
0
0
0
0
0
0
0
1770
700035
1275
717915
2460
863310
0
0
360
204240
315
302160
480
344775
1110
399810
1380
537555
0
0
1185
423630
1065
308715
0
0
0
0
0
0
0
0
2370
1029525
1770
489855
1170
1156335
0
0
0
0
0
0
0
0
1755
887805
0
0
930
480615
0
0
1365
1069680
0
0
315
295980
0
0
0
0
0
0
0
0
45
68040
0
0
0
0
0
0
600
380595
0
0
0
0
0
0
150
80970
0
0
0
0
0
0
0
0
1245
439080
0
0
0
0
1035
256290
0
0
0
0
0
0
0
0
0
0
1905
608430
0
0
1215
562605
0
0
0
0
0
0
0
0
0
0
0
0
2145
757170
765
644025
2010
777090
240
205275
270
244785
450
256245
840
352770
1050
436635
1950
671400
0
0
1395
472395
0
0
0
0
0
0
0
0
0
0
1800
858825
1560
529770
2190
1016925
0
0
0
0
0
0
0
0
1650
776475
0
0
960
459765
0
0
0
0
0
0
840
885780
0
0
0
0
0
0
0
0
120
83940
0
0
0
0
0
0
2385
1003215
0
0
0
0
0
0
90
152460
0
0
0
0
0
0
0
0
2370
1087995
0
0
0
0
1365
646320
0
0
0
0
0
0
0
0
0
0
4275
1342875
0
0
3240
1131315
0
0
0
0
0
0
0
0
0
0
0
0
5220
1888470
2655
1223550
120
93615
195
140145
300
166455
360
187965
870
295365
1335
431505
2370
916260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3090
1976145
2535
1402350
0
0
0
0
0
0
0
0
0
0
1245
1783110
0
0
1830
1343280
780
196695
0
0
0
0
0
0
0
0
0
0
165
126030
0
0
615
288210
0
0
0
0
0
0
0
0
705
236715
0
0
0
0
1350
770265
0
0
0
0
0
0
2445
465630
0
0
0
0
0
0
3375
1090170
0
0
0
0
3375
747780
0
0
0
0
0
0
0
0
2865
1179420
0
0
2355
1036620
0
0
0
0
0
0
0
0
0
0
2685
1362000
3345
1501110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4695
1436445
3015
1100310
2700
787890
1590
642930
690
327765
150
262560
60
157305
4920
1509690
3375
1564170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
398070
0
0
0
0
0
0
0
0
0
0
90
202920
0
0
1065
440085
0
0
0
0
0
0
0
0
1335
401085
0
0
0
0
2925
745755
0
0
0
0
0
0
2730
663480
0
0
0
0
0
0
1965
904515
0
0
0
0
3555
790530
0
0
0
0
0
0
0
0
2385
1091655
0
0
3045
1042725
0
0
0
0
0
0
0
0
2625
1143600
3105
1257975
3930
1445625
0
0
0
0
0
0
0
0
0
0
2565
1035450
0
0
3645
1466625
2325
1098750
2730
929565
1125
455220
285
337935
210
219615
3960
1665150
5145
1704390
4410
1705560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
581205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2700
698160
0
0
0
0
0
0
0
0
375
174990
0
0
0
0
2655
763830
0
0
0
0
0
0
1605
417345
0
0
0
0
0
0
1890
847710
0
0
0
0
3210
719790
0
0
0
0
1500
732435
0
0
2280
913290
0
0
4005
824520
0
0
0
0
0
0
0
0
2280
1049760
4305
1194150
3810
1171080
0
0
0
0
0
0
0
0
1035
716055
2835
950280
0
0
2460
1093410
3135
1050570
1725
545370
390
279645
240
222510
0
0
3240
1422720
4800
1500930
3135
1361025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
392055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
795
470550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
870
430485
0
0
0
0
0
0
705
277440
765
398760
0
0
0
0
1440
500385
0
0
0
0
1305
517095
0
0
0
0
945
510525
0
0
2040
645420
0
0
870
548925
0
0
0
0
0
0
0
0
1260
790830
2700
848670
2235
714945
0
0
0
0
0
0
810
477030
1065
595200
1995
743535
0
0
1980
836535
1320
400140
420
271485
255
206790
0
0
0
0
1830
1058670
3990
1068855
4020
1141050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
240120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
273210
0
0
0
0
0
0
1110
360525
0
0
0
0
0
0
765
333465
0
0
0
0
0
0
0
0
1350
567585
0
0
0
0
1785
387135
0
0
0
0
1845
564570
0
0
0
0
975
697860
0
0
1665
583155
0
0
2220
820905
0
0
0
0
0
0
0
0
2280
882870
2205
841800
2520
944910
0
0
0
0
750
400365
1140
536385
1245
629415
1635
705210
0
0
1320
539925
465
367905
120
303555
0
0
0
0
0
0
1935
1029885
4815
1233240
1950
1043760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
157530
0
0
0
0
180
184575
0
0
0
0
0
0
0
0
645
291270
0
0
0
0
0
0
750
275355
0
0
0
0
0
0
660
433710
0
0
0
0
0
0
0
0
795
353955
0
0
0
0
1980
493650
0
0
0
0
0
0
0
0
0
0
1695
451440
0
0
1350
557475
0
0
915
423090
0
0
0
0
0
0
0
0
2025
563265
2175
771120
2160
528060
0
0
525
244530
750
384570
1005
473385
1275
531840
2055
660765
0
0
1305
442065
555
366870
0
0
0
0
0
0
0
0
1725
793470
3240
857025
1680
922845
0
0
195
68100
0
0
0
0
0
0
0
0
0
0
45
55395
0
0
0
0
330
83025
0
0
0
0
0
0
0
0
105
58590
0
0
0
0
0
0
255
119925
0
0
0
0
0
0
210
162555
0
0
0
0
0
0
0
0
705
138855
0
0
0
0
525
260565
0
0
0
0
0
0
0
0
0
0
840
235590
0
0
720
308040
0
0
0
0
0
0
0
0
0
0
0
0
1125
355440
900
370920
750
379065
195
93420
105
122295
225
161970
330
184575
480
228510
1185
283575
0
0
630
259200
0
0
0
0
0
0
0
0
0
0
1050
403710
1380
440310
1140
474930
0
0
375
142455
0
0
0
0
0
0
0
0
0
0
30
46815
0
0
0
0
600
197370
0
0
0
0
0
0
0
0
330
210255
0
0
0
0
0
0
1050
252630
0
0
0
0
0
0
720
387975
0
0
0
0
0
0
0
0
1185
388650
0
0
0
0
1440
552600
0
0
0
0
0
0
0
0
0
0
1215
530085
0
0
1515
683745
0
0
0
0
0
0
0
0
0
0
0
0
1725
698070
2790
968970
45
77250
105
106995
135
156930
285
185220
600
233025
900
282015
1470
634260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1635
1027665
3255
939825
525
186690
0
0
0
0
0
0
0
0
0
0
0
0
90
126960
600
235065
0
0
0
0
0
0
0
0
0
0
675
261945
0
0
1230
359280
0
0
0
0
0
0
0
0
2070
403035
0
0
0
0
1830
453615
0
0
0
0
0
0
2175
526155
0
0
0
0
0
0
1680
567855
0
0
0
0
2040
589005
0
0
0
0
0
0
0
0
1200
705375
0
0
2640
803145
0
0
0
0
0
0
0
0
0
0
4170
980895
3645
1170915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2355
933285
1830
782295
1530
710070
1785
668955
1035
697440
525
857805
510
800310
0
0
420
267765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
293730
0
0
0
0
0
0
0
0
0
0
210
128160
0
0
1245
397185
0
0
0
0
0
0
0
0
1005
307950
0
0
0
0
780
465690
0
0
0
0
0
0
2820
473880
0
0
0
0
0
0
840
589905
0
0
0
0
2145
613365
0
0
0
0
0
0
0
0
1140
665775
0
0
2220
722850
0
0
0
0
0
0
0
0
2850
1032255
3525
1049790
4635
1111140
0
0
0
0
0
0
0
0
0
0
1635
854985
0
0
2025
867240
1680
765375
1845
760455
1425
681420
645
879525
840
806115
0
0
0
0
495
444045
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1590
568785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1830
595395
0
0
0
0
0
0
0
0
285
267075
0
0
0
0
1395
617025
0
0
0
0
0
0
1725
458325
0
0
0
0
0
0
2145
798840
0
0
0
0
1665
540510
0
0
0
0
705
611610
0
0
1920
851460
0
0
915
616635
0
0
0
0
0
0
0
0
2220
1055880
4500
1249500
3690
1140570
0
0
0
0
0
0
0
0
660
823380
1755
903885
0
0
2085
930570
2040
947595
1515
901815
690
1058625
1125
1013070
0
0
0
0
0
0
390
507825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1290
497325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1890
551100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2250
672000
0
0
0
0
0
0
1005
491895
825
519420
0
0
0
0
2220
726165
0
0
0
0
1650
637305
0
0
0
0
1035
741870
0
0
1020
861615
0
0
1635
802950
0
0
0
0
0
0
0
0
2310
1033785
4755
1118670
3345
926625
0
0
0
0
0
0
795
723870
765
756360
1740
826305
0
0
2535
995490
1230
827445
915
1040970
990
985995
0
0
0
0
0
0
0
0
345
376305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
900
359445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1185
403770
0
0
0
0
0
0
465
397470
0
0
0
0
0
0
1680
514080
0
0
0
0
0
0
0
0
1275
613770
0
0
0
0
1755
621030
0
0
0
0
930
252990
0
0
0
0
1470
745950
0
0
1515
627105
0
0
1110
298890
0
0
0
0
0
0
0
0
2520
986190
3540
945645
1920
515745
0
0
0
0
555
661245
1080
664980
1170
724380
1710
802005
0
0
1950
816975
960
999960
825
944550
0
0
0
0
0
0
0
0
0
0
45
70365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
111810
0
0
0
0
240
153915
0
0
0
0
0
0
0
0
465
172245
0
0
0
0
0
0
390
203370
0
0
0
0
0
0
600
164085
0
0
0
0
0
0
0
0
1080
278430
0
0
0
0
450
210945
0
0
0
0
0
0
0
0
0
0
645
329085
0
0
450
212745
0
0
300
217575
0
0
0
0
0
0
0
0
1470
442530
2265
410085
720
377295
0
0
570
291525
525
330495
660
323190
930
345795
1095
378270
0
0
1035
487320
570
399195
0
0
0
0
0
0
0
0
0
0
0
0
15
41655
0
0
225
108540
0
0
0
0
0
0
0
0
0
0
90
61095
0
0
0
0
195
161295
0
0
0
0
0
0
0
0
345
150135
0
0
0
0
0
0
585
177240
0
0
0
0
0
0
480
218505
0
0
0
0
0
0
0
0
735
234510
0
0
0
0
555
256410
0
0
0
0
0
0
0
0
0
0
1065
288195
0
0
510
284355
0
0
0
0
0
0
0
0
0
0
0
0
1410
386760
1440
516495
1185
539370
405
258120
585
299385
750
324570
915
365370
900
392550
1335
472350
0
0
735
390675
45
100905
0
0
0
0
0
0
0
0
0
0
0
0
15
41415
0
0
270
132180
0
0
0
0
0
0
0
0
0
0
60
69570
0
0
0
0
255
178125
0
0
0
0
0
0
0
0
270
148905
0
0
0
0
0
0
840
207825
0
0
0
0
0
0
735
286200
0
0
0
0
0
0
0
0
1425
322905
0
0
0
0
1140
380250
0
0
0
0
0
0
0
0
0
0
1365
427695
0
0
825
431910
0
0
0
0
0
0
0
0
0
0
0
0
2715
578715
2580
820575
270
244500
690
268395
885
317430
840
381330
1335
529755
1320
620055
1815
674700
0
0
0
0
7575
6350385
0
0
0
0
0
0
0
0
0
0
0
0
6360
6385230
8925
5442780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17880
18621780
0
0
28425
20540745
0
0
0
0
0
0
0
0
0
0
33660
18356280
27225
16420050
41220
15508230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36930
29339505
0
0
35685
30935160
0
0
0
0
0
0
0
0
0
0
46140
24096015
45510
26413335
51735
23461920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48030
45528825
0
0
68730
48130710
0
0
0
0
0
0
0
0
0
0
87975
40461885
65865
38909145
99765
39208890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3645
1274115
111675
73656720
0
0
110985
74317980
18735
7269600
0
0
0
0
0
0
0
0
148755
53755095
137355
57466695
127905
45307500
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110040
70431015
0
0
107940
73088355
0
0
0
0
0
0
0
0
0
0
153435
48909870
109830
46049865
197220
59028165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177525
107996760
0
0
82935
114249510
0
0
0
0
0
0
0
0
0
0
152700
51007410
217965
74171370
204960
94444695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52620
29855640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57450
18570885
51330
28252215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7770
13656195
31920
15498105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28935
10257285
0
0
0
0
0
0
0
0
0
0
0
0
33525
9403695
32055
9016245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19260
23068170
29910
25301865
54375
26503230
0
0
0
0
0
0
0
0
0
0
38610
23536455
0
0
62925
21729885
0
0
0
0
0
0
0
0
0
0
82350
20982630
65745
19234830
88155
18182925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69720
49056315
42570
50031060
75240
52683840
0
0
0
0
0
0
0
0
0
0
71460
42443760
0
0
92640
43369305
0
0
0
0
0
0
0
0
0
0
119115
38478180
104910
35819685
110025
32186115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93585
79907595
73410
81757275
121470
83313255
0
0
0
0
0
0
0
0
0
0
125730
71722215
0
0
163575
69260550
0
0
0
0
0
0
0
0
0
0
177900
56494470
155760
51782460
186075
44177865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152850
106499295
106500
107443095
189525
115496070
0
0
0
0
0
0
0
0
0
0
188340
89955330
0
0
179910
80008980
0
0
0
0
0
0
0
0
0
0
278205
62898000
211530
55817340
281985
64802955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143865
99582990
123840
104368260
140625
107915130
0
0
0
0
0
0
0
0
0
0
185070
79581180
0
0
173775
82394430
0
0
0
0
0
0
0
0
0
0
191280
49460640
217845
55194360
238800
58072590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181125
117452550
153360
116874675
148470
121625595
0
0
0
0
0
0
0
0
0
0
151095
67763670
0
0
118110
96244725
0
0
0
0
0
0
0
0
0
0
258105
61381200
235350
51351945
273930
91656330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118350
56821515
79635
60274455
0
0
0
0
0
0
0
0
0
0
0
0
112020
36795975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111240
24424020
106035
33242670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30465
11962935
61110
12724545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44505
10505670
0
0
0
0
0
0
0
0
0
0
0
0
55800
10331520
41970
9233040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58185
26343315
58020
25290045
100110
27657195
0
0
0
0
0
0
0
0
0
0
37050
24419595
0
0
75360
21950415
0
0
0
0
0
0
0
0
0
0
73230
23237235
58815
20203620
77535
18858525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119160
41207115
93270
45918405
123390
46496250
0
0
0
0
0
0
0
0
0
0
96165
40610385
0
0
101355
34210860
0
0
0
0
0
0
0
0
0
0
125865
33610380
104295
29844525
92910
23752950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154395
71974590
125730
75954615
217440
74130015
0
0
0
0
0
0
0
0
0
0
141990
61574205
0
0
164910
48728280
0
0
0
0
0
0
0
0
0
0
201150
45923220
110940
34109985
170580
31674810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
208035
77514945
190245
77959245
234135
75696300
0
0
0
0
0
0
0
0
0
0
189735
61294305
0
0
189570
56233440
0
0
0
0
0
0
0
0
0
0
181125
41827470
149970
37885695
228045
43999245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
236445
84314385
154905
73016715
260865
89870490
0
0
0
0
0
0
0
0
0
0
184020
56336880
0
0
162960
60729360
0
0
0
0
0
0
0
0
0
0
190935
40711230
170850
44282250
212925
43823460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147750
51416235
149685
55270860
112755
62533395
0
0
0
0
0
0
0
0
0
0
135735
39859185
0
0
119895
50205780
0
0
0
0
0
0
0
0
0
0
133230
27522840
120525
28061205
128355
41378685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132000
39738975
55440
41532630
0
0
0
0
0
0
0
0
0
0
0
0
88710
23869380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88230
17032470
70905
23279880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20685
11926710
39345
12486930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25815
10713540
0
0
0
0
0
0
0
0
0
0
0
0
22935
10847850
33045
9614535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46125
19814280
44400
20342355
100950
20111550
0
0
0
0
0
0
0
0
0
0
32265
20952255
0
0
62070
17258205
0
0
0
0
0
0
0
0
0
0
30495
19209315
48855
17968290
56355
15312390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88215
31668930
65040
31035120
108705
29480940
0
0
0
0
0
0
0
0
0
0
64575
29117955
0
0
68610
21924540
0
0
0
0
0
0
0
0
0
0
106125
26685015
77190
24152775
110655
20658090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88605
36550110
75255
36202665
130215
35160345
0
0
0
0
0
0
0
0
0
0
80040
34144410
0
0
93450
27255075
0
0
0
0
0
0
0
0
0
0
117000
30373635
96315
27279300
127740
24910755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130140
41891490
91635
38335965
145605
40382325
0
0
0
0
0
0
0
0
0
0
96300
32297820
0
0
110655
31345170
0
0
0
0
0
0
0
0
0
0
157620
29736675
103725
24642930
161235
24505575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155745
37543005
116145
35360820
132015
40059420
0
0
0
0
0
0
0
0
0
0
114375
26481930
0
0
104235
28955280
0
0
0
0
0
0
0
0
0
0
126555
22094160
134610
20943315
148575
27834315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102885
29158410
70350
28271085
82980
34423860
0
0
0
0
0
0
0
0
0
0
75315
21628800
0
0
42780
27215805
0
0
0
0
0
0
0
0
0
0
105555
18130365
79650
18841875
86610
26839275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51450
16223415
38700
18211785
0
0
0
0
0
0
0
0
0
0
0
0
39750
11874495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42885
9459285
47220
12794895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14265
9596835
23895
9272220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20175
9176370
0
0
0
0
0
0
0
0
0
0
0
0
17850
8672010
24075
8044950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35115
16449045
28365
16324665
53400
15327750
0
0
0
0
0
0
0
0
0
0
18480
17565300
0
0
36960
13809240
0
0
0
0
0
0
0
0
0
0
36720
15495450
32190
14049810
52620
14316345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48435
19639305
40050
19281195
61515
16158750
0
0
0
0
0
0
0
0
0
0
40860
20067705
0
0
53880
16481835
0
0
0
0
0
0
0
0
0
0
64530
17671890
47025
18548820
71715
16842000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68895
22697700
47640
19163745
80790
19604100
0
0
0
0
0
0
0
0
0
0
55455
21265335
0
0
69555
18271680
0
0
0
0
0
0
0
0
0
0
77430
21795000
64845
19651995
104655
17961885
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87345
20451180
58395
19371615
98445
20413635
0
0
0
0
0
0
0
0
0
0
70245
20704110
0
0
78675
16854795
0
0
0
0
0
0
0
0
0
0
88395
20269665
74490
17625945
117780
16033650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68325
17508555
51075
16200840
64050
18484980
0
0
0
0
0
0
0
0
0
0
53160
15935475
0
0
50895
16216890
0
0
0
0
0
0
0
0
0
0
81795
15421500
73560
14059230
82185
15874635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52215
16933590
30555
14704545
33795
17167620
0
0
0
0
0
0
0
0
0
0
47250
11767080
0
0
31935
14788530
0
0
0
0
0
0
0
0
0
0
75345
11254845
44145
12378480
45255
15434940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38250
10290300
16485
11839035
0
0
0
0
0
0
0
0
0
0
0
0
28695
7755750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47595
8115465
39825
10090380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10245
9234015
19485
9226275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21645
7364925
0
0
0
0
0
0
0
0
0
0
0
0
11985
6203670
18045
6776190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26775
12440145
22560
12849780
36555
10453395
0
0
0
0
0
0
0
0
0
0
17985
12521955
0
0
34995
11069220
0
0
0
0
0
0
0
0
0
0
18105
10820550
20475
10782120
31755
10955385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50295
14570205
33885
13769925
51570
11201805
0
0
0
0
0
0
0
0
0
0
33075
14783385
0
0
42015
12800565
0
0
0
0
0
0
0
0
0
0
46155
13159230
26865
13948260
50685
13967865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46485
15255810
34110
13179705
51420
11538315
0
0
0
0
0
0
0
0
0
0
34125
16688325
0
0
55185
12591660
0
0
0
0
0
0
0
0
0
0
34080
14683620
32400
14838660
49740
13715400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44985
12166500
37440
11647935
53310
11025750
0
0
0
0
0
0
0
0
0
0
40710
12664470
0
0
49275
10505355
0
0
0
0
0
0
0
0
0
0
34185
12323895
28080
11661000
41025
10777560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30405
8774610
26220
8897490
36315
11158335
0
0
0
0
0
0
0
0
0
0
28830
9877215
0
0
32925
9769080
0
0
0
0
0
0
0
0
0
0
23265
10987935
28575
10860030
19395
9652470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22155
6893760
15975
7609680
22245
9309300
0
0
0
0
0
0
0
0
0
0
23760
7172520
0
0
19830
9312855
0
0
0
0
0
0
0
0
0
0
21015
6589080
16560
7804140
16455
9069105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10920
4119495
9780
5366565
0
0
0
0
0
0
0
0
0
0
0
0
13320
4446480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13020
4185090
13065
5423715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7125
4434765
11310
4416990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7680
4877625
0
0
0
0
0
0
0
0
0
0
0
0
7845
4557735
9645
5475615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23550
7616235
21255
7849740
30135
6759165
0
0
0
0
0
0
0
0
0
0
12675
8213055
0
0
25245
8144145
0
0
0
0
0
0
0
0
0
0
18420
7990215
14475
8432310
29625
8523900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34935
8911635
20445
9737295
36945
7571340
0
0
0
0
0
0
0
0
0
0
19035
9988245
0
0
31965
9158730
0
0
0
0
0
0
0
0
0
0
22725
9644580
14445
9947880
33510
10125585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28245
9234390
20625
8639400
36450
6452445
0
0
0
0
0
0
0
0
0
0
15660
10059510
0
0
29535
8856960
0
0
0
0
0
0
0
0
0
0
22140
9781770
13380
10390035
27585
9560640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24525
7043445
17835
5820810
29025
6060015
0
0
0
0
0
0
0
0
0
0
14655
8503965
0
0
24090
7120575
0
0
0
0
0
0
0
0
0
0
16410
8314365
12210
8363895
14790
7734630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11085
3824370
17085
5636925
17205
4631445
0
0
0
0
0
0
0
0
0
0
11310
6816180
0
0
9135
5382435
0
0
0
0
0
0
0
0
0
0
9660
6652920
8610
6520980
11790
6251370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10335
3183090
8130
3663420
11310
4763310
0
0
0
0
0
0
0
0
0
0
9330
4059660
0
0
6690
4622685
0
0
0
0
0
0
0
0
0
0
6375
4186800
7665
4818390
6405
5173650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5910
2305905
6090
3396375
0
0
0
0
0
0
0
0
0
0
0
0
4245
2709420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4935
3234420
6690
3696690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4095
2463015
4560
2764275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4245
2945145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11715
5166645
11640
5682750
14835
4655565
0
0
0
0
0
0
0
0
0
0
7605
5370165
0
0
13380
5697645
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17760
5117925
11835
5799855
20550
4588620
0
0
0
0
0
0
0
0
0
0
12750
5888820
0
0
17805
5983110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10800
4733085
12285
4756260
19065
4490850
0
0
0
0
0
0
0
0
0
0
8640
4912095
0
0
15450
5443050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10995
4293705
10410
4640490
14910
3950910
0
0
0
0
0
0
0
0
0
0
8805
5017965
0
0
9150
4544925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5190
2885835
6645
3056235
6045
2773695
0
0
0
0
0
0
0
0
0
0
4320
3696960
0
0
5610
3539520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6645
2048040
3540
2179890
8955
2652435
0
0
0
0
0
0
0
0
0
0
6750
2689800
0
0
7275
3169845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1980
941655
2760
1478445
0
0
0
0
0
0
0
0
0
0
0
0
1830
1405425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1095
431040
0
0
0
0
0
0
0
0
0
0
0
0
1065
592740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10455
3569625
0
0
0
0
0
0
0
0
3570
2835570
0
0
9000
2796540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2505
1548060
0
0
0
0
0
0
8520
1996740
0
0
0
0
0
0
0
0
8100
1804020
0
0
8265
1735725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5925
1749435
0
0
0
0
0
0
6945
1580520
0
0
0
0
0
0
0
0
8160
1906545
0
0
6780
1501500
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11010
3249810
0
0
0
0
0
0
8250
2679840
0
0
0
0
0
0
0
0
9465
2192385
0
0
11460
2494695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9255
2674890
0
0
0
0
0
0
3555
2085555
0
0
0
0
0
0
0
0
7725
1871625
0
0
8505
2139870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4740
1148070
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3600
899265
0
0
2355
1371015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1125
314505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1245
337740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2265
789540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2640
677910
0
0
0
0
0
0
0
0
0
0
0
0
2955
692715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3525
1593720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5550
1249500
0
0
0
0
0
0
0
0
5010
1525410
0
0
5925
1326120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3465
2931495
0
0
0
0
0
0
7110
3695835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7665
3338385
0
0
0
0
0
0
12090
3492990
0
0
0
0
0
0
0
0
12900
3170775
0
0
8145
3068820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10410
10349715
0
0
0
0
0
0
16980
11751600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46185
12893670
0
0
0
0
0
0
44235
11343855
0
0
0
0
0
0
0
0
32475
11507970
0
0
29385
13447965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10725
6288810
0
0
0
0
0
0
3600
4831995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36630
7079430
0
0
0
0
0
0
20355
6384795
0
0
0
0
0
0
0
0
16605
4688025
0
0
19650
6173835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14910
3197835
0
0
0
0
0
0
1200
2007345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20445
2877480
0
0
0
0
0
0
11010
2722545
0
0
0
0
0
0
0
0
11940
2476725
0
0
14025
3127470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12945
2448960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8355
1697985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4485
1642515
0
0
8475
2440455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3690
1174530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4440
934065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3555
811545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2010
2090055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7815
2419050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7185
2073855
0
0
0
0
0
0
0
0
0
0
0
0
7905
2172675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1095
2781825
0
0
8370
3698805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13860
4689630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12645
3211815
0
0
0
0
0
0
0
0
19455
3954555
0
0
17055
3985245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5820
8122230
0
0
10785
10405215
0
0
0
0
0
0
0
0
3870
7674270
0
0
0
0
0
0
24510
11147745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27150
11485875
0
0
0
0
0
0
32505
11881005
0
0
0
0
0
0
0
0
40125
12229830
0
0
24945
9187680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8790
6656010
0
0
10335
7311525
0
0
0
0
0
0
0
0
10590
6553815
0
0
0
0
0
0
24120
7762455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37680
8520255
0
0
0
0
0
0
28485
7695885
0
0
0
0
0
0
0
0
35865
8707350
0
0
29070
7950165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9705
6069480
0
0
7725
5668515
0
0
0
0
0
0
0
0
16740
6819585
0
0
0
0
0
0
7470
5099520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23970
6635190
0
0
0
0
0
0
21735
6270675
0
0
0
0
0
0
0
0
22800
5301855
0
0
17475
6910590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21180
13690245
0
0
4035
8901570
0
0
0
0
0
0
0
0
63435
16940400
0
0
0
0
0
0
4530
7942110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43635
10555875
0
0
0
0
0
0
34245
15725655
0
0
0
0
0
0
0
0
49290
15648870
0
0
48645
18230835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3615
2272995
0
0
960
1669140
0
0
0
0
0
0
0
0
9690
2937420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8985
2538960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6705
2441040
0
0
6630
2435595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4620
1227810
0
0
0
0
0
0
0
0
0
0
0
0
7215
1012950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3375
889320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4065
1206090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7080
3073980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16260
3749910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11205
2930565
0
0
0
0
0
0
0
0
0
0
0
0
21150
3196725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4845
3056655
0
0
11085
3860160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16020
3626385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15405
3310140
0
0
0
0
0
0
0
0
7755
3583575
0
0
19230
4326645
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7920
6664260
0
0
22425
8692965
0
0
0
0
0
0
0
0
6960
6600630
0
0
0
0
0
0
25080
8917245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17625
7317045
0
0
0
0
0
0
27585
8498790
0
0
0
0
0
0
0
0
33540
9012180
0
0
32190
10413675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15990
6011745
0
0
19020
6426975
0
0
0
0
0
0
0
0
16035
5508615
0
0
0
0
0
0
27450
6372795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31725
6673020
0
0
0
0
0
0
22725
7065645
0
0
0
0
0
0
0
0
34740
7131510
0
0
19380
7146435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15765
6454965
0
0
13740
4588890
0
0
0
0
0
0
0
0
29535
7143030
0
0
0
0
0
0
11025
4346745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32775
6866190
0
0
0
0
0
0
26175
6797145
0
0
0
0
0
0
0
0
27870
7278810
0
0
19800
7656705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16290
4985895
0
0
5310
3476130
0
0
0
0
0
0
0
0
20670
5079360
0
0
0
0
0
0
4875
3613560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20145
4147530
0
0
0
0
0
0
14925
4359255
0
0
0
0
0
0
0
0
11385
4545885
0
0
10275
4240350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22635
2968755
0
0
4125
2489880
0
0
0
0
0
0
0
0
22380
3475350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15165
3426690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12975
3468105
0
0
8730
3668985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7950
1866660
0
0
0
0
0
0
0
0
0
0
0
0
8940
2130360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9675
2397510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8805
2466510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9135
2417670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8895
2541555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9225
1854645
0
0
0
0
0
0
0
0
0
0
0
0
11490
2785230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5355
6040575
0
0
33375
9689535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18735
6165570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29475
8386560
0
0
0
0
0
0
0
0
9585
7495080
0
0
38925
9361425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20160
6888120
0
0
33210
8114700
0
0
0
0
0
0
0
0
13395
6114210
0
0
0
0
0
0
23730
6981525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16230
6617310
0
0
0
0
0
0
20700
7217460
0
0
0
0
0
0
0
0
27750
7362405
0
0
31620
8853675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18915
4985580
0
0
17940
4649895
0
0
0
0
0
0
0
0
16035
4725615
0
0
0
0
0
0
14925
4666545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16050
4883055
0
0
0
0
0
0
15870
5471085
0
0
0
0
0
0
0
0
16890
5627985
0
0
16710
5875680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32700
8580375
0
0
22470
7937115
0
0
0
0
0
0
0
0
25125
8645340
0
0
0
0
0
0
21750
8149800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36555
9638835
0
0
0
0
0
0
19785
8032545
0
0
0
0
0
0
0
0
32925
10027800
0
0
18090
7046610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17115
4057365
0
0
7995
3057195
0
0
0
0
0
0
0
0
14295
4286985
0
0
0
0
0
0
7050
3797235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18600
5003040
0
0
0
0
0
0
7620
4031250
0
0
0
0
0
0
0
0
18765
5471475
0
0
7275
4302735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13950
3590595
0
0
4065
2811270
0
0
0
0
0
0
0
0
15315
3929775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12405
4072665
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10410
3393330
0
0
5265
3048555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5985
1192275
0
0
0
0
0
0
0
0
0
0
0
0
6105
1230300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5340
1415490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5265
1639800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7125
1566960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7035
1788615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7725
2112930
0
0
0
0
0
0
0
0
0
0
0
0
3975
2139495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6570
2534910
0
0
10665
2360610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12420
2825715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12360
3341610
0
0
0
0
0
0
0
0
1035
2391570
0
0
11865
3324105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21345
4085745
0
0
17145
4628625
0
0
0
0
0
0
0
0
6510
3749625
0
0
0
0
0
0
18975
5141655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3510
3763365
0
0
0
0
0
0
13185
5964105
0
0
0
0
0
0
0
0
9180
4435905
0
0
12075
5701125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21810
5500470
0
0
23550
5483475
0
0
0
0
0
0
0
0
18450
5777325
0
0
0
0
0
0
14895
5789445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11805
4847700
0
0
0
0
0
0
11655
5322150
0
0
0
0
0
0
0
0
10170
5950560
0
0
13170
6533730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10545
3153030
0
0
11010
2809890
0
0
0
0
0
0
0
0
13530
3531840
0
0
0
0
0
0
9210
3061890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10635
3586245
0
0
0
0
0
0
4950
3106695
0
0
0
0
0
0
0
0
5565
3604935
0
0
6435
3518940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11820
2617290
0
0
8295
2424030
0
0
0
0
0
0
0
0
10575
2872470
0
0
0
0
0
0
4635
2573100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9600
3186525
0
0
0
0
0
0
3870
2489775
0
0
0
0
0
0
0
0
8100
3355890
0
0
4290
2869035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9495
1729365
0
0
6585
2242605
0
0
0
0
0
0
0
0
8220
2433840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10095
2814855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8550
2775870
0
0
1710
2070495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6225
1145655
0
0
0
0
0
0
0
0
0
0
0
0
5250
1346805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4680
1556040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3900
1616805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4500
1354995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3840
1191315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3525
1870185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6195
1970505
0
0
8430
1740420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6150
2066265
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7575
2532765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10350
2851260
0
0
12045
2379930
0
0
0
0
0
0
0
0
6405
2506515
0
0
0
0
0
0
7905
2714010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
630
1988055
0
0
0
0
0
0
8040
3517860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13155
2687070
0
0
12300
2686500
0
0
0
0
0
0
0
0
9900
2693850
0
0
0
0
0
0
7770
2849325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4425
2235090
0
0
0
0
0
0
6555
3283185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9900
2160990
0
0
9495
2220795
0
0
0
0
0
0
0
0
10470
2501475
0
0
0
0
0
0
5400
2379330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5805
2277030
0
0
0
0
0
0
3600
2409480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7935
1762920
0
0
9825
2153460
0
0
0
0
0
0
0
0
9000
2401770
0
0
0
0
0
0
5550
2093370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6705
2663625
0
0
0
0
0
0
1965
2118000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4530
871065
0
0
2430
986220
0
0
0
0
0
0
0
0
3975
1001505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3105
1303080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2760
640650
0
0
0
0
0
0
0
0
0
0
0
0
2220
679620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2550
925230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
765
338745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
885
384555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3495
773865
0
0
3150
786465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3030
902340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4245
1198890
0
0
4590
1320600
0
0
0
0
0
0
0
0
1365
1248750
0
0
0
0
0
0
4725
1566615
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7410
1919445
0
0
5550
1971870
0
0
0
0
0
0
0
0
7905
2020530
0
0
0
0
0
0
7755
2250720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5430
1561065
0
0
6045
1491090
0
0
0
0
0
0
0
0
6315
1773825
0
0
0
0
0
0
4710
1930560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3150
1216665
0
0
3825
1217535
0
0
0
0
0
0
0
0
5715
1393080
0
0
0
0
0
0
2685
1492365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2130
593505
0
0
1830
769950
0
0
0
0
0
0
0
0
3120
900840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1125
415875
0
0
0
0
0
0
0
0
0
0
0
0
1005
480240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78390
57792990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104040
50523435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104655
66807225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83625
57879570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43755
29104035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39825
23396940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3195
826920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3225
608670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32580
16060800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38370
12379815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345225
166784325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
290865
153863835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164460
130086840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182610
128653650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215595
127363110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
204060
123454830
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147150
75526740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137460
50982735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98340
55102080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47880
24978270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
251775
106754475
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
263655
140047125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
372345
233858415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
287730
139618245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130260
49626030
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135240
48223290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107865
49067730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151875
65247165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
186390
61256985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
203760
85315365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
245445
100096605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
264435
87961575
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45945
10520190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36540
12404985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63780
19653675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46680
16705005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94890
23673135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59280
16234845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84075
15000120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70530
24901920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10950
2105205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23250
3021450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17175
3260475
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19185
5000430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16035
2443215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15930
4051530
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19680
2551350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16020
3663150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53640
33094665
81225
28953495
63975
27070635
44145
20982405
29220
17172240
24120
13104900
25530
11805735
32580
27026970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25545
21191415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28260
16454145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31635
12891840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39150
9790755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31020
7759590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26565
7468410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58305
27467430
0
0
63345
27843105
57090
25516335
38400
20603130
27660
17629035
24855
13113795
28170
11590560
0
0
30495
23893425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30840
21105450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28230
17272305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40185
13685025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36720
11240010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34740
8784780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25515
8160540
0
0
0
0
0
0
0
0
0
0
0
0
49380
26171910
55335
28341165
0
0
67260
29256330
45630
24788850
28215
21404775
31440
15563670
30285
13829280
0
0
0
0
47505
29250360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34275
24085740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34695
19260330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42075
15283125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44160
12194400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39345
10341630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30735
9528930
0
0
0
0
0
0
0
0
0
0
53640
24775875
57405
26784705
76830
29841705
0
0
63945
28789980
44340
24031785
35925
17062815
40545
15304515
0
0
0
0
0
0
54180
31193595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42750
25931715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38805
20516445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40140
15050430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41700
13734555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37425
12051120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30285
11200440
0
0
0
0
0
0
0
0
42300
19697925
40395
21943260
46590
24626895
66210
27350475
0
0
42150
24670695
33225
16749690
33855
15499305
0
0
0
0
0
0
0
0
60735
27003795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35865
21884925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34410
18028920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36180
14710275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27825
10452555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26520
9234015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22800
8030025
0
0
0
0
0
0
36885
14030475
39120
16492440
52650
18965370
60450
22045230
63465
24240255
0
0
36780
14983500
32205
13561830
0
0
0
0
0
0
0
0
0
0
33570
17206320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21480
13033605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20865
10512375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20235
8622105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18000
7630320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17985
5631255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16845
5144010
0
0
0
0
21015
9063510
21060
9923145
26760
10970790
30450
12043095
24915
12903330
29400
14547045
0
0
35760
14514210
0
0
0
0
0
0
0
0
0
0
0
0
21420
13177155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16065
11412765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15765
9553320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16815
8151885
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16125
5582595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14760
4412385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14970
4251525
0
0
26085
10445955
28110
11933775
35610
13582725
40185
15113595
35190
18194730
31635
26470125
44820
33855735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19545
19547685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14070
13220880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15855
9512025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20430
7902915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25470
6768810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17700
5517795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14115
5646075
31560
18120765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31155
15993465
41865
14698005
42450
12971355
32880
10757220
23175
7859655
17685
6006435
14580
5117610
25695
14080965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25020
11016240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25035
9035295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26790
7720020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26310
6785445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24885
6536430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20505
10874475
0
0
0
0
0
0
0
0
0
0
0
0
29445
10538505
0
0
30930
10758735
28425
10135350
23160
8774940
17790
6280770
15165
5044560
12315
4297365
0
0
19950
11338620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20655
9718635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25215
8366505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23940
7108020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22440
6155385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18090
5730330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25590
13040475
0
0
0
0
0
0
0
0
0
0
34530
11200605
34905
13107210
0
0
43785
13285305
35460
11483265
22275
8578980
22410
6666285
18750
5377230
0
0
0
0
26550
13594590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21255
11333265
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24705
9417795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31860
8045805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26085
7363260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23115
6731505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33285
14072670
0
0
0
0
0
0
0
0
35265
9383115
36915
10775475
43605
13250070
0
0
46905
13707150
29640
9342105
24315
7060080
20385
5514540
0
0
0
0
0
0
32835
14543940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33285
12203220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27735
9218355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33330
8543850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24615
7618860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26400
7011960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29625
12440565
0
0
0
0
0
0
28575
7483230
26220
8670465
33000
11399310
43320
13220985
0
0
28815
10185705
19680
7608135
17925
5982660
0
0
0
0
0
0
0
0
33180
12413595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22425
10439940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24435
8624910
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23385
6808905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17895
6045720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19275
5477085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23460
8164335
0
0
0
0
21420
5487975
17385
6034560
22575
7114020
28215
7962225
34500
8584545
0
0
24870
7936455
19680
6353520
0
0
0
0
0
0
0
0
0
0
21960
8529180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16140
7167825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15825
6054375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15405
5682765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14655
4769355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17355
4261710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18090
5958150
0
0
17910
3934305
17610
4371405
20010
4972935
21900
5504640
21585
6152340
18720
6720285
0
0
19455
6013320
0
0
0
0
0
0
0
0
0
0
0
0
15840
6593865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13065
5950380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11490
5286495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10995
3674385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9705
3140415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13080
2969985
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13935
5853885
11295
3573450
11190
3870465
14325
4460385
14955
4744380
16110
5333010
13320
5712495
15075
6337350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10485
5652405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9945
5027205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10845
4731105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14880
4452975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11955
3948075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13140
3836070
22185
9975120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26640
10490565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23820
10175145
25185
9466965
23595
9046575
20580
6972795
14745
5855565
11925
4237485
10680
3367455
25035
9346335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23985
8625600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29820
7786635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28050
6845145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26745
6631830
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20370
8392845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24315
9147270
0
0
0
0
0
0
0
0
0
0
0
0
25470
8904480
0
0
25710
9842685
25035
9258870
18690
7205325
15720
5924145
12795
4210620
10125
3275640
0
0
22065
8964900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26850
8451555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28845
7671810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28590
6643620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22335
6259860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25320
9950490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28485
11188995
0
0
0
0
0
0
0
0
0
0
26205
8271255
29010
10411620
0
0
28920
10874580
24135
7989720
16725
6339180
15270
4165050
13950
3506685
0
0
0
0
20820
10565640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26340
8834655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28590
7758795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24690
6519015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23925
6189315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33000
9765165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34545
10751280
0
0
0
0
0
0
0
0
28890
6810435
28935
7940100
30870
9628440
0
0
32250
9764655
24615
7464915
16995
4989330
13710
3813045
0
0
0
0
0
0
27210
9943260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27885
8179455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27405
7539990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24630
6754485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23025
6381960
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24495
7921785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34650
9161190
0
0
0
0
0
0
22545
4856265
22305
5827950
23535
7275525
29385
9165360
0
0
25050
8281665
19200
5658405
13980
4319340
0
0
0
0
0
0
0
0
22980
9186540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23295
7933020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21960
6621135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20100
5843355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19920
5347920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17535
5928015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23895
6747810
0
0
0
0
17115
3626445
17310
4204290
16245
5144220
22020
5949540
23400
6837555
0
0
23565
6500835
16410
4993590
0
0
0
0
0
0
0
0
0
0
20190
7202220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16815
6089355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15150
5397540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14670
4264050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15105
3837210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14295
6483105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18855
7292160
0
0
11835
3020580
12960
3621435
14625
4143030
15330
4664595
16080
5311860
18045
8037975
0
0
19755
7240545
0
0
0
0
0
0
0
0
0
0
0
0
12330
7726335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11805
7170375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10815
4359780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11565
3486990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11985
3590355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12570
4898115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11700
5296005
9825
2560410
9195
2932680
8970
3354795
10695
3769650
10755
4231845
11415
5338230
17745
5943390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12150
5311620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12345
5026890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16740
4639170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15240
3984555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15330
3789480
27270
8877885
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28965
9695865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29205
10503405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23700
10189530
26115
9638685
23610
8230575
22365
6627465
17655
5494065
15330
4339800
14685
3188475
36765
10487280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42960
9617010
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38805
8278950
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36090
8286660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23700
7433775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27045
8252880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29295
9380640
0
0
0
0
0
0
0
0
0
0
0
0
30525
8244405
0
0
22890
9169365
21870
7941960
20820
6563310
18270
5346120
13950
4086450
13935
3005625
0
0
34155
9388350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30555
8418525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31455
7478295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29220
7146285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25125
7759995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28095
8993520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24585
9664995
0
0
0
0
0
0
0
0
0
0
28935
6943800
25950
8137155
0
0
27420
9324990
25515
7708515
20325
6212250
17175
4762965
14145
3422895
0
0
0
0
33810
9399735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39420
8722515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30660
7759920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30405
7231740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27420
8128980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29430
9239220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28515
9760395
0
0
0
0
0
0
0
0
21960
5902140
23205
6817500
24795
8667960
0
0
25395
9064695
22245
7151700
15240
5468925
14220
4061640
0
0
0
0
0
0
31665
9306135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31725
8727705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24705
7849815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26910
7333695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22350
6431280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30180
7444605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29730
8317380
0
0
0
0
0
0
19860
4620675
18390
5392845
25560
6733620
27180
8197110
0
0
24030
8081850
19170
5972895
15030
4452420
0
0
0
0
0
0
0
0
27390
8363640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25890
6920625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21765
6096585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22545
5598930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14730
4240230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18495
4987380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19845
6387255
0
0
0
0
17220
3240120
14505
3809025
18045
4635495
20220
5570850
25875
6977790
0
0
23205
6195960
17295
4616475
0
0
0
0
0
0
0
0
0
0
19545
6885285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17670
5959155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15525
4879710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16185
4346130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14610
3984105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16680
4505835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16980
5228010
0
0
12855
2644935
12960
3015915
13275
3425280
12840
4123110
16995
4923060
18900
5798310
0
0
20520
4944720
0
0
0
0
0
0
0
0
0
0
0
0
15690
5538180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14895
4833765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15255
4170675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18135
3843240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15810
4401630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12915
4727610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14805
5545425
13230
2467350
13590
2869170
12375
3326235
10125
3897900
17970
4850880
15390
6156420
20070
6427425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18135
5988735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19425
5880930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24045
5121555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23460
4835025
25410
9939780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29355
10786695
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25590
11835900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34365
12877380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29040
12404415
33780
11641215
29475
10542045
20670
8640225
19395
6970530
15300
5530065
15885
4182405
49965
11826870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44670
10712295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44700
9978840
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22905
7820130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23940
8762235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25080
10055820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30390
11182860
0
0
0
0
0
0
0
0
0
0
0
0
33945
9488595
0
0
26550
10993725
25905
9865845
19440
8444430
19605
7033080
16470
5361615
16170
4001775
0
0
48810
11387400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38670
10219335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34455
9448155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21435
7826475
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22995
8829285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22635
9640245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27450
10759170
0
0
0
0
0
0
0
0
0
0
33405
8105220
31980
9629235
0
0
24855
10131735
22470
8644575
18480
7195815
16185
5833905
14940
4360425
0
0
0
0
43800
10958730
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33165
9714945
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33675
9210480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23730
6813765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24975
7857915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26055
8365845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28755
9334020
0
0
0
0
0
0
0
0
28695
6680640
31095
7718475
31050
8949150
0
0
23790
9331485
22995
7625415
19980
5970270
19920
4513410
0
0
0
0
0
0
39120
10306440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30345
9017460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31545
8136630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18555
5761440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23535
7004865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22065
7784160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24930
8732775
0
0
0
0
0
0
23175
5043525
20535
5956215
23895
6881400
24975
7925550
0
0
22110
7897665
20475
6216300
20115
4937295
0
0
0
0
0
0
0
0
27945
8071305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17910
6972420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26625
6383490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13305
3833835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14835
4562340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15405
5325570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23100
6318810
0
0
0
0
16365
3760020
18000
4293840
16545
4857990
20220
5672655
20610
6588465
0
0
21375
5829420
22785
4672245
0
0
0
0
0
0
0
0
0
0
22245
6777510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17280
5599035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23325
4907670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13095
4352115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15885
4960830
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14805
5427510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18465
6404325
0
0
13665
3460080
12585
3858360
14250
4429365
14985
5166480
15555
5828190
18060
6595845
0
0
20055
5572830
0
0
0
0
0
0
0
0
0
0
0
0
22140
6530460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18120
5689545
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26610
5270655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15495
5651745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15840
6264855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13815
6964635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20355
7578525
13665
3663105
14085
4030260
12525
4676325
16215
5371560
15795
6225660
21540
7143375
20610
7602315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34275
7614090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28590
6970980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35085
6600495
29640
10802445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32325
11917380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32730
12998400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40785
14677770
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58305
16235160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38280
15996345
44430
15704010
37665
15474675
29625
13289265
24840
11114865
25530
8107005
29745
6893145
67245
14530290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53520
14989230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26685
9258495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28275
10322550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30105
11609160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31440
13056375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58320
14597520
0
0
0
0
0
0
0
0
0
0
0
0
50850
12396075
0
0
39630
13911855
35805
14030985
27480
12452880
28965
10624320
27840
8065320
33240
6484650
0
0
59070
13943640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39105
12854640
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24120
8191065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26700
9487830
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25770
10462455
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31650
11735670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45480
13399125
0
0
0
0
0
0
0
0
0
0
50295
10476345
40785
11701665
0
0
34500
13296150
29235
11834565
26295
10195920
28560
7540290
27165
5974080
0
0
0
0
49755
13443435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36315
12261150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22215
7317150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25425
8395125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28395
8993430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28200
9799410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41910
11291535
0
0
0
0
0
0
0
0
34335
8438370
37680
9461250
42330
10868025
0
0
28830
10815225
26580
9281250
27075
7397295
32580
5928750
0
0
0
0
0
0
40875
11684670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29265
10376355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17295
5168325
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24870
6058995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22455
6802290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24840
7896195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29535
9068850
0
0
0
0
0
0
27540
6343230
23850
7098750
31515
8013795
27690
8804400
0
0
28170
8525235
30975
7023525
29115
5682915
0
0
0
0
0
0
0
0
31455
9387765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26715
8154720
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15975
4186965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18510
4998660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19380
5806470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21540
6695715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29685
7553865
0
0
0
0
21735
5292480
19320
5963985
22155
6629145
20595
7301700
25305
7862775
0
0
30660
6825225
28305
5856270
0
0
0
0
0
0
0
0
0
0
29760
7671870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24540
6629070
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16140
3934395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19275
4401075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20685
5081340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20670
6105420
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29520
7376505
0
0
28440
5065080
24105
5562630
26505
6271410
22920
7079130
25530
7689240
29730
7965480
0
0
38505
7033080
0
0
0
0
0
0
0
0
0
0
0
0
31185
7775430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31155
7088535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20520
5756670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19005
6330345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19785
7071555
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22875
8372415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35700
9597345
26100
5527335
22890
5967465
23415
6831885
25680
7700250
26940
8778060
32400
9525975
37485
10065540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43335
8955060
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37680
9150060
30780
14014380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31440
15038955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30915
16434240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40080
18609195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58335
21414210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87690
22712970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62190
20843580
60510
20496240
52140
20378520
41010
19847490
36285
16152060
40935
13991760
49935
12056550
70170
20269755
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27630
13668660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28950
14863515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31695
16567815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35025
18135675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60150
20762415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90660
22434135
0
0
0
0
0
0
0
0
0
0
0
0
79620
19569060
0
0
64245
21083220
54750
21180090
38595
20062725
35175
15824025
39900
14179110
47730
12099960
0
0
59610
20295390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24585
11084250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26415
12499080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27855
13437690
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28485
14949630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47925
17417175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73350
19758525
0
0
0
0
0
0
0
0
0
0
69705
16702455
59220
17356695
0
0
51945
19412415
37485
19236735
33300
14521740
39795
12678525
43950
10773810
0
0
0
0
54195
18422190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24030
9242565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26205
10671195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30195
11470995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30180
12557400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42540
14350320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53580
16894500
0
0
0
0
0
0
0
0
49860
12794925
46455
13492080
49515
14991630
0
0
36645
15913290
30285
13492845
32730
11988585
43485
10162845
0
0
0
0
0
0
40830
15143310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18540
6484920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22830
7548525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22590
8428680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23775
9594735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26085
10965990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42315
13009575
0
0
0
0
0
0
35265
9046830
34710
10011285
33285
11413335
37335
12188010
0
0
30345
10909890
30390
9893460
30090
8655360
0
0
0
0
0
0
0
0
36660
11515320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17700
5147805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19245
6121905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21030
7171425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24000
8377710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24630
9621510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36840
11354700
0
0
0
0
33615
7910055
31500
8298300
28365
9812625
31920
10544700
32265
11119950
0
0
40305
10292055
34695
9360825
0
0
0
0
0
0
0
0
0
0
31995
10089480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13170
4409955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16020
4864140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17610
5612310
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18765
6703965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20025
8196630
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32295
9940620
0
0
27105
7141620
25755
7589760
25095
8687325
25560
9195555
23235
9542775
29355
9830325
0
0
36585
8946705
0
0
0
0
0
0
0
0
0
0
0
0
31305
8859015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19185
7447140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19470
8027565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17685
9129600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22680
10683750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30960
12399585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43905
14247210
37710
9441885
34965
9823680
31605
11500020
34335
12471750
26850
13411080
33060
13536120
39915
13962660
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41355
12835245
25995
10199250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25800
11099055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24525
11996850
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34545
13393410
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41610
14614965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54780
16345260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57915
15496710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34575
14283420
40245
15252135
37485
15435435
42255
15693300
41400
15214020
45750
15347190
54630
13995990
0
0
23175
9414705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25740
10380000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26565
11864895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31350
13200345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48285
14525535
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45060
15898305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51345
15223935
0
0
0
0
0
0
0
0
0
0
0
0
44310
13669935
0
0
38520
14686095
36525
15372690
37635
15213540
42345
14945280
46815
15197055
53820
13863975
0
0
0
0
27015
9725550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31305
10968930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26865
11885775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35280
13271625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45435
15063780
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51645
16908360
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47985
16610175
0
0
0
0
0
0
0
0
0
0
55845
14822745
43545
15013080
0
0
43740
15713130
42150
16409100
43950
16054080
54615
16344060
52725
14776380
0
0
0
0
0
0
28065
8226675
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28965
9485745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29160
10342485
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33900
11588295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45120
13010340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35400
15279450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38730
15585525
0
0
0
0
0
0
0
0
51165
13124820
42075
13514760
47520
14146440
0
0
41385
14502255
45150
14774730
48450
14898015
52425
13657410
0
0
0
0
0
0
0
0
21810
6158160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29790
7059990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26745
8247810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30840
9448590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38670
11143320
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34020
13352820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31620
13855020
0
0
0
0
0
0
51045
11523345
44130
11694615
42225
12616515
44460
12597390
0
0
42840
12768810
52875
13282545
48210
12036420
0
0
0
0
0
0
0
0
0
0
19455
4389150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21975
5110965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18180
6116115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22365
7085490
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32070
8186895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22065
9905895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22725
10540620
0
0
0
0
37380
8723865
34395
9070665
32985
9594660
30285
10053645
37500
9852750
0
0
46425
10180155
40050
9674265
0
0
0
0
0
0
0
0
0
0
0
0
16560
4383765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20310
4932270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18105
5684760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21840
6715965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31485
8087700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24945
10154550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27030
10648140
0
0
38850
8915175
32925
9243765
34845
9568815
30540
9918510
30165
10060620
33795
10384005
0
0
37740
9518865
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16620
5891085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17745
6364095
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15015
7133715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20115
8142480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27585
9429765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29580
11479395
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33765
11465820
39495
9938940
34815
10129170
32235
10824675
33135
11101695
32520
11303475
31770
11705175
38805
11836725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5400
3026355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6435
2854800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6315
2238120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4620
1930425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2655
1774005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3060
1524285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
735
1315065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13290
5295375
0
0
11295
6756900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12750
6132075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8775
4969200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8865
4298805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4995
3441240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2040
2782425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30030
10482225
0
0
36630
14063550
0
0
0
0
0
0
0
0
20985
8510505
0
0
0
0
0
0
27315
9964920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18105
8949570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16770
7543050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6390
5018805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26325
10913355
0
0
26430
12169485
0
0
0
0
0
0
0
0
27855
9950730
0
0
0
0
0
0
23100
9424740
0
0
0
0
19815
8778420
0
0
0
0
0
0
0
0
0
0
12570
7393635
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5760
4697595
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20550
10017900
0
0
21435
9005055
0
0
0
0
0
0
0
0
19845
9142830
0
0
0
0
0
0
14790
8002800
0
0
0
0
17505
6569025
0
0
0
0
0
0
0
0
0
0
12480
5474460
11475
4950390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44970
18597180
0
0
37320
14329050
0
0
0
0
0
0
0
0
35400
16993500
0
0
0
0
0
0
19995
11217210
0
0
0
0
32685
12674775
0
0
0
0
0
0
0
0
0
0
0
0
25590
11420955
0
0
0
0
0
0
0
0
0
0
0
0
10410
8152050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7230
3967740
0
0
3540
3744750
0
0
0
0
0
0
0
0
5655
3822045
0
0
0
0
0
0
0
0
0
0
0
0
5100
3131355
0
0
0
0
0
0
0
0
0
0
0
0
6330
2572155
0
0
0
0
0
0
0
0
0
0
0
0
6180
2661315
0
0
0
0
0
0
0
0
0
0
0
0
1740
2262060
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4140
4749060
0
0
0
0
0
0
0
0
0
0
0
0
6585
4744125
0
0
0
0
0
0
0
0
0
0
0
0
6105
4203510
0
0
0
0
0
0
0
0
0
0
0
0
6555
3489495
0
0
0
0
0
0
0
0
0
0
0
0
4380
3389775
0
0
0
0
0
0
0
0
0
0
0
0
3075
3220425
0
0
0
0
0
0
0
0
0
0
0
0
1305
2675355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17955
7170375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21990
8239965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21165
6884955
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20115
6554460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15750
6792075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13095
6465270
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6810
5632095
0
0
5055
6079410
0
0
15705
7515870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19590
7185480
0
0
21240
8044815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15375
5232525
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12030
3891510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6330
2705115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5100
2175705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1260
1797675
0
0
8670
9048435
0
0
19740
10555425
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34305
10570965
0
0
29235
11056380
0
0
0
0
0
0
0
0
20745
9226170
0
0
0
0
0
0
20775
8366835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20610
7103460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14175
5334705
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3825
4193760
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21615
15187785
0
0
24390
14877795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47790
16529610
0
0
40935
14960460
0
0
0
0
0
0
0
0
36165
12671325
0
0
0
0
0
0
25920
12046635
0
0
0
0
23970
9794565
0
0
0
0
0
0
0
0
0
0
24690
9247920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8355
5846580
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39795
25574250
0
0
21780
23886750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73020
30146220
0
0
70050
24623550
0
0
0
0
0
0
0
0
52425
21736875
0
0
0
0
0
0
35880
18837375
0
0
0
0
40935
19118730
0
0
0
0
0
0
0
0
0
0
16785
12825630
15735
12313620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15150
8995320
0
0
4950
8137125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17670
9227595
0
0
14745
8881110
0
0
0
0
0
0
0
0
13800
6291750
0
0
0
0
0
0
16185
6312705
0
0
0
0
15300
5157615
0
0
0
0
0
0
0
0
0
0
0
0
10770
4888365
0
0
0
0
0
0
0
0
0
0
0
0
3390
3976785
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65595
25074960
0
0
4785
17725725
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44130
23913645
0
0
49125
22426155
0
0
0
0
0
0
0
0
26865
16639725
0
0
0
0
0
0
0
0
0
0
0
0
25125
10610250
0
0
0
0
0
0
0
0
0
0
0
0
22665
9225735
0
0
0
0
0
0
0
0
0
0
0
0
15525
7800720
0
0
0
0
0
0
0
0
0
0
0
0
2040
5846040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4305
3790620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7125
4368570
0
0
0
0
0
0
0
0
0
0
0
0
5370
3832740
0
0
0
0
0
0
0
0
0
0
0
0
3570
2693640
0
0
0
0
0
0
0
0
0
0
0
0
3735
2546850
0
0
0
0
0
0
0
0
0
0
0
0
2370
2102385
0
0
0
0
0
0
0
0
0
0
0
0
1410
1913520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12645
4772415
0
0
0
0
0
0
0
0
0
0
0
0
11715
5311815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14085
5388855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11670
4365585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10875
4451445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9300
4498380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5070
4015530
0
0
0
0
0
0
0
0
0
0
25080
10924125
0
0
0
0
0
0
0
0
13185
10961715
0
0
35625
13007550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25530
12797475
0
0
37740
11632275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31395
10088235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20190
9978180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22050
8660745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11250
7013520
0
0
5250
6498780
0
0
0
0
0
0
18360
8964330
0
0
0
0
0
0
0
0
20430
8905365
0
0
33855
10367970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34230
9869985
0
0
33240
8186880
0
0
0
0
0
0
0
0
20415
7990815
0
0
0
0
0
0
18585
5889330
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13095
4529565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8850
3525285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2250
2713635
0
0
15930
13682025
0
0
0
0
0
0
19320
15859305
0
0
0
0
0
0
0
0
40560
18951855
0
0
50745
20461350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54495
18124725
0
0
46965
17874990
0
0
0
0
0
0
0
0
44910
16913010
0
0
0
0
0
0
34245
13911225
0
0
0
0
19530
11717775
0
0
0
0
0
0
0
0
0
0
23955
9616080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8670
7504170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17550
15187950
0
0
0
0
0
0
4920
8602665
0
0
0
0
0
0
0
0
42030
20368950
0
0
20265
12827385
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40245
17053065
0
0
39750
18593010
0
0
0
0
0
0
0
0
34275
13828260
0
0
0
0
0
0
27945
15375945
0
0
0
0
22110
11193525
0
0
0
0
0
0
0
0
0
0
10515
9909615
8295
8273055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28575
16174965
0
0
0
0
0
0
5565
11222175
0
0
0
0
0
0
0
0
54885
20545710
0
0
24060
16157130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39300
18255090
0
0
40410
18873615
0
0
0
0
0
0
0
0
34755
13151865
0
0
0
0
0
0
17880
12412290
0
0
0
0
33405
11899320
0
0
0
0
0
0
0
0
0
0
0
0
16815
9966315
0
0
0
0
0
0
0
0
0
0
0
0
4620
7308075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12525
6517860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15255
7334970
0
0
5235
7511100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16845
9092295
0
0
18330
7765590
0
0
0
0
0
0
0
0
14835
6836700
0
0
0
0
0
0
0
0
0
0
0
0
18405
5711430
0
0
0
0
0
0
0
0
0
0
0
0
8745
5008665
0
0
0
0
0
0
0
0
0
0
0
0
2835
4007970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15705
5971185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15780
6781020
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11145
6955560
0
0
0
0
0
0
0
0
0
0
0
0
10125
5845830
0
0
0
0
0
0
0
0
0
0
0
0
9990
4703415
0
0
0
0
0
0
0
0
0
0
0
0
9120
4731840
0
0
0
0
0
0
0
0
0
0
0
0
6180
4128480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16815
9168075
0
0
0
0
0
0
0
0
0
0
0
0
19320
10360800
0
0
0
0
0
0
0
0
0
0
0
0
21060
10102005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20760
10888125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20295
9562440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17805
9671715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22005
8469480
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11790
6277245
0
0
0
0
0
0
0
0
0
0
0
0
21495
7277700
0
0
0
0
0
0
0
0
13875
8375415
0
0
25200
7850505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16200
8569965
0
0
29265
9252900
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23910
9073860
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21675
8961495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14055
7890315
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20700
13058220
0
0
0
0
19065
13664685
0
0
0
0
0
0
50655
17334090
0
0
0
0
0
0
0
0
43545
17121345
0
0
57510
18556380
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49665
19728285
0
0
70005
18400950
0
0
0
0
0
0
0
0
21180
15118605
0
0
0
0
0
0
45105
17332305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43845
14501085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20730
11311290
0
0
3045
5296410
0
0
0
0
0
0
0
0
0
0
3165
4945725
0
0
0
0
15240
7438080
0
0
0
0
0
0
13560
6913905
0
0
0
0
0
0
0
0
27225
8879250
0
0
25695
8704605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36795
10114695
0
0
28650
8252850
0
0
0
0
0
0
0
0
18960
8931825
0
0
0
0
0
0
18000
6703605
0
0
0
0
5940
6900390
0
0
0
0
0
0
0
0
0
0
11535
5332650
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1515
3703035
0
0
14100
10253040
0
0
0
0
0
0
0
0
0
0
5205
8260110
0
0
0
0
29145
14104845
0
0
0
0
0
0
19695
11661195
0
0
0
0
0
0
0
0
55035
16517865
0
0
44055
14856405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52725
18066330
0
0
50700
17444475
0
0
0
0
0
0
0
0
42675
16712640
0
0
0
0
0
0
30075
13826190
0
0
0
0
23175
13959315
0
0
0
0
0
0
0
0
0
0
10215
10834050
5685
10295775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9735
7415505
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25470
10251795
0
0
0
0
0
0
4965
6291435
0
0
0
0
0
0
0
0
35370
10632150
0
0
21210
10884375
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35445
12114390
0
0
37710
13887780
0
0
0
0
0
0
0
0
27900
10656645
0
0
0
0
0
0
9810
9758700
0
0
0
0
22545
9249585
0
0
0
0
0
0
0
0
0
0
0
0
5805
7173285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10530
5478570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22260
6692610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24465
6485610
0
0
10800
5836080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19620
8171535
0
0
15630
7649025
0
0
0
0
0
0
0
0
17280
6803730
0
0
0
0
0
0
0
0
0
0
0
0
16980
7090290
0
0
0
0
0
0
0
0
0
0
0
0
9060
6025815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9090
3492510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10170
3705465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12975
4148460
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8400
3933450
0
0
0
0
0
0
0
0
0
0
0
0
7365
3279990
0
0
0
0
0
0
0
0
0
0
0
0
11685
3195615
0
0
0
0
0
0
0
0
0
0
0
0
5895
2770560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9135
4432860
0
0
0
0
0
0
0
0
0
0
0
0
15465
5129460
0
0
0
0
0
0
0
0
0
0
0
0
15015
5279880
0
0
0
0
0
0
0
0
0
0
0
0
20310
5768550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19035
5708085
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13890
5537715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12930
5026290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14145
10230495
0
0
0
0
0
0
0
0
0
0
0
0
34500
13362360
0
0
0
0
0
0
0
0
0
0
0
0
40935
14044170
0
0
0
0
0
0
0
0
21585
13538100
0
0
38805
13875915
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18780
15117195
0
0
45015
16835445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33375
16167735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40335
14411580
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4380
3741420
0
0
0
0
0
0
0
0
0
0
0
0
11985
5242590
0
0
0
0
11580
7396125
0
0
0
0
0
0
22380
6017025
0
0
0
0
0
0
0
0
26790
8727270
0
0
23820
7481025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21945
9477225
0
0
31980
9634770
0
0
0
0
0
0
0
0
8055
7538115
0
0
0
0
0
0
18945
9420870
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13830
8496930
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5385
6802545
18195
10887225
0
0
0
0
0
0
0
0
0
0
18240
9612570
0
0
0
0
37500
14200785
0
0
0
0
0
0
38880
12364800
0
0
0
0
0
0
0
0
53640
17602725
0
0
46290
13685370
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58125
24941490
0
0
46260
25761255
0
0
0
0
0
0
0
0
30630
21647625
0
0
0
0
0
0
49515
22983795
0
0
0
0
9285
15818475
0
0
0
0
0
0
0
0
0
0
19665
18964170
0
0
1950
2363520
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7215
3281115
0
0
0
0
0
0
0
0
0
0
4380
4212825
0
0
0
0
15225
3966915
0
0
0
0
0
0
17670
6789030
0
0
0
0
0
0
0
0
19785
4724445
0
0
25080
8856210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28170
9906060
0
0
23385
8951385
0
0
0
0
0
0
0
0
19200
8550615
0
0
0
0
0
0
11415
7258800
0
0
0
0
7050
6511890
0
0
0
0
0
0
0
0
0
0
1665
5233500
0
0
7020
4945800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15945
6424710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24195
7286475
0
0
0
0
0
0
8385
5191695
0
0
0
0
0
0
0
0
23535
7199895
0
0
19320
8013765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23910
10591710
0
0
26040
10643760
0
0
0
0
0
0
0
0
20235
10334955
0
0
0
0
0
0
7200
8217930
0
0
0
0
14700
8922600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8805
4837050
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18735
6730740
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20775
6457620
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26130
8135505
0
0
7275
5908365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19095
8212800
0
0
14700
7608615
0
0
0
0
0
0
0
0
22335
7483305
0
0
0
0
0
0
0
0
0
0
0
0
13005
6333990
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9120
3774975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13260
4354680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16290
4467585
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14415
5419845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15585
6140280
0
0
0
0
0
0
0
0
0
0
0
0
13845
5485290
0
0
0
0
0
0
0
0
0
0
0
0
11250
4998510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7185
5789355
0
0
0
0
0
0
0
0
0
0
0
0
14070
7050915
0
0
0
0
0
0
0
0
0
0
0
0
15525
7608630
0
0
0
0
0
0
0
0
0
0
0
0
15165
7409160
0
0
0
0
0
0
0
0
0
0
0
0
18240
9334980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22440
9678405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16350
8895495
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3450
3154515
0
0
0
0
0
0
0
0
0
0
0
0
12690
4114515
0
0
0
0
0
0
0
0
0
0
0
0
14685
4884975
0
0
0
0
0
0
0
0
0
0
0
0
13950
5908905
0
0
0
0
0
0
0
0
12405
6806865
0
0
23295
6543765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6435
6523005
0
0
15090
7109415
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15075
6534120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4500
5949930
0
0
0
0
0
0
0
0
0
0
0
0
12735
8059125
0
0
0
0
0
0
0
0
0
0
0
0
26445
9975120
0
0
0
0
15975
11253690
0
0
0
0
0
0
31185
11822535
0
0
0
0
0
0
0
0
27645
14570715
0
0
40905
14133015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19170
15005010
0
0
33990
15769965
0
0
0
0
0
0
0
0
8400
11426130
0
0
0
0
0
0
34905
15080295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3075
2416740
8400
5380230
0
0
0
0
0
0
0
0
0
0
9090
3894315
0
0
0
0
20010
6331740
0
0
0
0
0
0
14340
4841550
0
0
0
0
0
0
0
0
24990
6819990
0
0
28785
5331795
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23940
7743060
0
0
19860
8211915
0
0
0
0
0
0
0
0
5790
5762535
0
0
0
0
0
0
11595
7275855
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9555
6194715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26145
8074290
0
0
0
0
0
0
0
0
0
0
8430
4599675
0
0
0
0
25260
9244650
0
0
0
0
0
0
15180
8142435
0
0
0
0
0
0
0
0
32190
11094225
0
0
25125
10397175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25335
14380290
0
0
30855
15274995
0
0
0
0
0
0
0
0
15510
12094350
0
0
0
0
0
0
13020
13033995
0
0
1425
2031120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5640
2746440
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9495
3129885
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13665
3357660
0
0
0
0
0
0
4545
3544485
0
0
0
0
0
0
0
0
13590
4553550
0
0
10485
4940160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12525
6740145
0
0
11460
6524325
0
0
0
0
0
0
0
0
8985
5400630
0
0
0
0
0
0
2040
4859775
0
0
3960
4190115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12405
5244810
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15270
5676570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14775
5807100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20040
8115960
0
0
8430
6305550
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18615
9099735
0
0
5400
8686980
0
0
0
0
0
0
0
0
15330
8565030
0
0
0
0
0
0
0
0
0
0
2940
2284185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6180
2837835
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7875
2933655
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9825
3416880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12450
3945090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7425
4227960
0
0
0
0
0
0
0
0
0
0
0
0
8280
4055025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2355
2248605
0
0
0
0
0
0
0
0
0
0
0
0
5925
2659965
0
0
0
0
0
0
0
0
0
0
0
0
7425
3063330
0
0
0
0
0
0
0
0
0
0
0
0
8670
3570195
0
0
0
0
0
0
0
0
0
0
0
0
11370
3914430
0
0
0
0
0
0
0
0
0
0
0
0
9945
4496610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9120
4261980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2670
4140585
0
0
0
0
0
0
0
0
0
0
0
0
6615
5281260
0
0
0
0
0
0
0
0
0
0
0
0
14955
6176910
0
0
0
0
0
0
0
0
0
0
0
0
14550
7097865
0
0
0
0
0
0
0
0
0
0
0
0
21885
9494730
0
0
0
0
0
0
0
0
15975
10710450
0
0
21225
11752170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6435
8877900
0
0
23385
11228670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2100
2249850
0
0
0
0
0
0
0
0
0
0
0
0
8820
3482265
0
0
0
0
0
0
0
0
0
0
0
0
10170
4400490
0
0
0
0
9840
5095080
0
0
0
0
0
0
13080
4859205
0
0
0
0
0
0
0
0
13815
5222250
0
0
15315
5873970
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4695
4999695
0
0
15315
5765670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7365
4646685
13530
8166255
0
0
0
0
0
0
0
0
0
0
15990
6951120
0
0
0
0
21285
9687930
0
0
0
0
0
0
21900
9015630
0
0
0
0
0
0
0
0
25320
9810090
0
0
26580
9714165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13785
9328470
0
0
24060
10665765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8085
3850350
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17940
4614150
0
0
0
0
0
0
0
0
0
0
7095
2687175
0
0
0
0
18225
4725360
0
0
0
0
0
0
11985
4095885
0
0
0
0
0
0
0
0
15435
5104155
0
0
14100
5369805
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11865
4942260
0
0
10410
5219220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10050
5915895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22500
7408515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20340
8024055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25515
10270515
0
0
0
0
0
0
10725
8251515
0
0
0
0
0
0
0
0
23730
12531195
0
0
19575
11272605
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23295
12252180
0
0
14550
12053595
0
0
810
1035435
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4050
1291590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6090
1418745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7890
1435515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6420
2126775
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7245
2806545
0
0
5445
2647920
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5985
2847030
0
0
1590
2545155
0
0
2430
2605890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4710
3105345
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5940
3275565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7785
3481305
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8415
4659975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6945
5529825
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10170
5065335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1080
3423555
0
0
0
0
0
0
0
0
0
0
0
0
3405
4032780
0
0
0
0
0
0
0
0
0
0
0
0
7575
4468740
0
0
0
0
0
0
0
0
0
0
0
0
6825
4818465
0
0
0
0
0
0
0
0
0
0
0
0
9900
6410025
0
0
0
0
0
0
0
0
0
0
0
0
9090
7938690
0
0
0
0
0
0
0
0
0
0
0
0
7290
7183680
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1275
1704480
0
0
0
0
0
0
0
0
0
0
0
0
3360
2481435
0
0
0
0
0
0
0
0
0
0
0
0
4725
2984610
0
0
0
0
0
0
0
0
0
0
0
0
6945
3109080
0
0
0
0
0
0
0
0
0
0
0
0
6420
3802275
0
0
0
0
0
0
0
0
6750
3442980
0
0
5835
4023225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4110
3031110
0
0
0
0
0
0
0
0
0
0
0
0
7860
4798650
0
0
0
0
0
0
0
0
0
0
0
0
10440
6320805
0
0
0
0
12600
7819035
0
0
0
0
0
0
12615
7816485
0
0
0
0
0
0
0
0
15210
7535670
0
0
14955
8140815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3735
2242905
8880
4096680
0
0
0
0
0
0
0
0
0
0
12060
3421200
0
0
0
0
9375
4198755
0
0
0
0
0
0
9795
4385490
0
0
0
0
0
0
0
0
11280
4079805
0
0
13320
4648890
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13770
8388075
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19425
9835530
0
0
0
0
0
0
0
0
0
0
9030
6269445
0
0
0
0
19380
9349350
0
0
0
0
0
0
14250
9266700
0
0
0
0
0
0
0
0
20205
9728130
0
0
17160
9623940
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4275
3102510
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8580
3526875
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9855
3578040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7905
3950835
0
0
0
0
0
0
6720
3814620
0
0
0
0
0
0
0
0
9480
4021140
0
0
7620
4148040
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7080
5145285
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10530
6282975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14415
6658260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15915
7918245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16620
9932100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17505
9898710
0
0
13560
10029255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
570
1022250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2220
1191600
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2685
1184250
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4245
1194390
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4125
1690470
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2595
2002815
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2985
1957980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1125
518490
1095
484020
1725
492315
1245
487455
780
443970
540
360645
525
313575
1425
512670
1830
585870
0
0
0
0
0
0
0
0
0
0
0
0
1185
473940
0
0
1695
512190
0
0
0
0
0
0
0
0
0
0
870
399300
0
0
0
0
1455
469170
0
0
0
0
0
0
0
0
735
393960
0
0
0
0
0
0
1170
406140
0
0
0
0
0
0
840
352590
0
0
0
0
0
0
0
0
1125
348645
0
0
0
0
1590
328905
0
0
0
0
0
0
0
0
0
0
540
279750
0
0
1140
296805
0
0
0
0
0
0
0
0
0
0
0
0
600
243120
1740
601350
0
0
1515
610170
1530
580335
1185
573585
645
535125
690
435120
675
364110
1530
641100
1770
633165
1830
640035
0
0
0
0
0
0
0
0
0
0
0
0
1815
618450
0
0
1695
594540
0
0
0
0
0
0
0
0
0
0
1080
540165
0
0
0
0
2580
529635
0
0
0
0
0
0
0
0
1275
476760
0
0
0
0
0
0
1350
460905
0
0
0
0
0
0
1125
464235
0
0
0
0
0
0
0
0
810
346050
0
0
0
0
1410
415335
0
0
0
0
0
0
0
0
0
0
1125
328515
0
0
1380
385695
0
0
0
0
0
0
0
0
0
0
0
0
945
754275
1590
908445
0
0
2070
883575
1140
829395
795
775860
1155
649800
915
579030
0
0
2160
919875
3075
885930
2175
984615
0
0
0
0
0
0
0
0
900
699855
0
0
2475
767055
0
0
3630
861555
0
0
0
0
0
0
0
0
0
0
2550
670020
0
0
0
0
2325
794820
0
0
0
0
0
0
0
0
1860
586530
0
0
0
0
0
0
2760
681750
0
0
0
0
0
0
2505
530595
0
0
0
0
0
0
0
0
1620
582525
0
0
0
0
2355
493335
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1785
423135
0
0
0
0
0
0
0
0
0
0
1890
736290
1500
794175
1860
853605
0
0
1845
797235
780
700680
840
590145
915
482865
0
0
0
0
3810
979500
2580
980505
3360
917100
0
0
0
0
0
0
0
0
2520
729255
0
0
3435
878370
0
0
2940
757080
0
0
0
0
1680
526920
0
0
0
0
2460
687510
0
0
0
0
1785
656550
0
0
0
0
0
0
0
0
2580
582165
0
0
0
0
0
0
1335
420345
0
0
0
0
0
0
2595
514230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2595
494715
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2775
431370
0
0
0
0
0
0
0
0
1005
429735
720
435405
1020
459960
1305
506970
0
0
1110
474930
480
378210
675
336825
0
0
0
0
0
0
2130
634200
2100
589980
1290
533430
0
0
0
0
0
0
0
0
1560
530460
0
0
2100
532605
0
0
1245
387195
0
0
0
0
1470
451170
0
0
0
0
1515
441330
0
0
0
0
900
294720
975
370965
0
0
0
0
0
0
1320
367065
0
0
0
0
0
0
0
0
0
0
0
0
0
0
975
332610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1080
313935
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1140
276675
0
0
0
0
0
0
960
383280
630
418395
810
432030
945
427080
975
492360
0
0
810
442080
405
350325
0
0
0
0
0
0
0
0
1365
539280
1710
504150
1320
497430
0
0
0
0
0
0
0
0
1305
482385
0
0
1140
445725
0
0
630
319695
0
0
0
0
1215
432675
0
0
0
0
1035
399810
0
0
0
0
0
0
795
362955
0
0
0
0
0
0
900
358800
0
0
0
0
645
293655
0
0
0
0
0
0
0
0
630
282750
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
247185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
330
197760
0
0
0
0
450
233775
600
287295
570
291510
570
308655
180
294510
600
330645
0
0
555
293715
0
0
0
0
0
0
0
0
0
0
960
346350
1020
307215
735
332850
0
0
0
0
0
0
0
0
1095
324630
0
0
1260
279330
0
0
0
0
0
0
0
0
945
280740
0
0
0
0
1095
267795
0
0
0
0
0
0
900
256665
0
0
0
0
0
0
1395
272985
0
0
0
0
570
203970
0
0
0
0
0
0
0
0
795
247755
0
0
375
166395
0
0
0
0
0
0
0
0
0
0
405
214140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
390
197580
0
0
630
279450
630
323580
390
329910
525
341445
615
355185
255
333975
765
390015
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1050
419310
525
328185
0
0
0
0
0
0
0
0
0
0
825
371475
0
0
630
287340
0
0
0
0
0
0
0
0
1275
366720
0
0
0
0
630
295950
0
0
0
0
0
0
810
306390
0
0
0
0
0
0
525
286800
0
0
0
0
585
281445
0
0
0
0
0
0
0
0
600
274770
0
0
585
239670
0
0
0
0
0
0
0
0
0
0
210
260235
420
207870
0
0
0
0
0
0
0
0
0
0
0
0
435
213540
1350
518835
1020
621165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2205
674010
1950
611250
1800
626625
2055
595515
1305
462495
630
355950
690
243255
1140
622395
1425
680385
0
0
0
0
0
0
0
0
0
0
0
0
1050
493965
0
0
1830
594465
0
0
0
0
0
0
0
0
0
0
1185
505875
0
0
0
0
1950
502230
0
0
0
0
0
0
0
0
1155
467085
0
0
0
0
0
0
1785
483195
0
0
0
0
0
0
1620
433755
0
0
0
0
0
0
0
0
1395
414900
0
0
0
0
1485
409440
0
0
0
0
0
0
0
0
0
0
615
336015
0
0
1110
639240
1680
748050
1620
797130
0
0
0
0
0
0
0
0
0
0
1905
768225
0
0
2955
855810
2475
802950
2910
778440
1275
547185
840
442170
420
310755
1605
784455
2445
831840
2655
888180
0
0
0
0
0
0
0
0
0
0
0
0
1620
701760
0
0
2880
753615
0
0
0
0
0
0
0
0
0
0
1785
635670
0
0
0
0
2175
651210
0
0
0
0
0
0
0
0
1755
633765
0
0
0
0
0
0
2130
571905
0
0
0
0
0
0
2295
560820
0
0
0
0
0
0
0
0
990
476715
0
0
0
0
1950
484635
0
0
0
0
0
0
0
0
0
0
945
372285
0
0
765
909765
2025
1075515
2805
1134855
0
0
0
0
0
0
0
0
1875
886890
3165
1072305
0
0
4125
1158015
2610
1061475
1785
761310
1605
589860
1215
466815
0
0
3705
1091970
4110
1103625
4545
1206585
0
0
0
0
0
0
0
0
2220
699585
0
0
4290
967395
0
0
3705
948360
0
0
0
0
0
0
0
0
0
0
3450
840450
0
0
0
0
2250
787695
0
0
0
0
0
0
0
0
4110
790725
0
0
0
0
0
0
1680
644055
0
0
0
0
0
0
3450
714180
0
0
0
0
0
0
0
0
1635
569955
0
0
0
0
2730
663540
0
0
0
0
0
0
0
0
0
0
0
0
0
0
930
833445
1650
861585
1530
837660
0
0
0
0
0
0
1095
662505
1500
761460
2820
941190
0
0
2895
885810
1740
691665
1260
563955
720
440010
0
0
0
0
3660
952785
3990
967575
4470
930525
0
0
0
0
0
0
0
0
1845
719445
0
0
3210
806895
0
0
2295
819705
0
0
0
0
1695
607695
0
0
0
0
3210
685125
0
0
0
0
2475
723660
0
0
0
0
0
0
0
0
2055
624885
0
0
0
0
0
0
1380
661035
0
0
0
0
0
0
2400
581925
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2610
518430
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1620
960375
1305
942660
1125
796875
0
0
0
0
1080
652380
2385
801450
2910
887355
3075
1009455
0
0
1740
774555
1110
585360
1230
403455
0
0
0
0
0
0
3165
991245
3600
959475
2970
994455
0
0
0
0
0
0
0
0
2475
835665
0
0
2895
785715
0
0
2220
840495
0
0
0
0
2220
598965
0
0
0
0
2085
602175
0
0
0
0
1395
550785
1395
513540
0
0
0
0
0
0
1920
493800
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1455
491670
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1665
421365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
810
518055
705
433980
600
439200
0
0
705
399615
1260
449340
1500
491265
1380
508155
1635
562785
0
0
1215
440220
420
309450
0
0
0
0
0
0
0
0
2055
544500
1905
498075
1245
531180
0
0
0
0
0
0
0
0
1860
450210
0
0
1350
461775
0
0
810
327105
0
0
0
0
1440
406770
0
0
0
0
1230
393330
0
0
0
0
0
0
1275
356940
0
0
0
0
0
0
1155
346290
0
0
0
0
540
301410
0
0
0
0
0
0
0
0
585
277590
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
221295
0
0
0
0
0
0
0
0
0
0
0
0
0
0
990
463335
630
372210
810
402855
720
272340
945
320085
960
381240
1065
426135
1185
438705
1380
494910
0
0
1290
435285
0
0
0
0
0
0
0
0
0
0
2415
504420
1500
453645
1425
459330
0
0
0
0
0
0
0
0
1965
429210
0
0
1380
390630
0
0
0
0
0
0
0
0
1515
386445
0
0
0
0
975
399570
0
0
0
0
0
0
1035
344835
0
0
0
0
0
0
1050
323610
0
0
0
0
975
294960
0
0
0
0
0
0
0
0
525
274875
0
0
675
250710
0
0
0
0
0
0
0
0
0
0
360
237000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1860
438210
375
306315
405
247155
540
265350
960
314160
735
326895
945
324960
495
322785
1020
434685
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1380
472770
1230
352380
0
0
0
0
0
0
0
0
0
0
1140
409470
0
0
690
350145
0
0
0
0
0
0
0
0
1305
382590
0
0
0
0
750
318315
0
0
0
0
0
0
1170
339750
0
0
0
0
0
0
960
301935
0
0
0
0
585
284325
0
0
0
0
0
0
0
0
690
292695
0
0
645
246915
0
0
0
0
0
0
0
0
0
0
540
238710
690
380145
0
0
1200
499605
0
0
0
0
0
0
0
0
0
0
1650
505065
1470
573975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2400
574650
1740
522990
2085
527640
2160
484275
1695
391500
1245
279660
525
212685
1440
513105
1305
553095
0
0
0
0
0
0
0
0
0
0
0
0
765
463905
0
0
1485
502350
0
0
0
0
0
0
0
0
0
0
1140
445605
0
0
0
0
1590
469260
0
0
0
0
0
0
0
0
1365
438105
0
0
0
0
0
0
1665
447420
0
0
0
0
0
0
1635
393735
0
0
0
0
0
0
0
0
1080
381075
0
0
0
0
0
0
1065
712620
0
0
1575
800415
0
0
0
0
0
0
0
0
1470
664740
3060
837105
3240
896145
0
0
0
0
0
0
0
0
0
0
2325
746370
0
0
4080
905190
3750
876075
2610
767925
2310
599805
1425
420615
915
303810
1785
739800
3285
800085
3885
832740
0
0
0
0
0
0
0
0
0
0
0
0
1530
652080
0
0
3960
669885
0
0
0
0
0
0
0
0
0
0
1710
651885
0
0
0
0
2370
643215
0
0
0
0
0
0
0
0
2205
599490
0
0
0
0
0
0
1785
540795
0
0
0
0
0
0
1980
513780
0
0
0
0
0
0
0
0
1065
450900
0
0
495
652305
0
0
1215
896445
0
0
1470
999855
0
0
0
0
0
0
0
0
1500
860835
3345
1118085
3195
1131795
0
0
0
0
0
0
0
0
1485
752385
3540
1053240
0
0
5040
1174710
4725
991740
3855
879720
2055
591720
990
414195
0
0
3090
1069290
5250
1007940
4830
994500
0
0
0
0
0
0
0
0
2040
853440
0
0
2760
858330
0
0
3540
808155
0
0
0
0
0
0
0
0
0
0
4155
858930
0
0
0
0
2970
704325
0
0
0
0
0
0
0
0
4110
826410
0
0
0
0
0
0
1230
597615
0
0
0
0
0
0
3510
727500
0
0
0
0
0
0
0
0
1425
488100
0
0
795
739815
0
0
1140
879960
0
0
825
855000
0
0
0
0
0
0
0
0
1875
1009515
3330
1082820
2745
1073940
0
0
0
0
0
0
1155
651015
2700
874170
4260
1087110
0
0
4455
1082430
3240
851010
2325
646515
960
436230
0
0
0
0
4665
1114065
6045
1048230
5310
1061205
0
0
0
0
0
0
0
0
2730
783300
0
0
5970
951105
0
0
2715
863805
0
0
0
0
1785
694155
0
0
0
0
3585
834990
0
0
0
0
2295
744885
0
0
0
0
0
0
0
0
3870
834795
0
0
0
0
0
0
1440
659205
0
0
0
0
0
0
4095
748080
0
0
0
0
0
0
0
0
0
0
0
0
960
856575
0
0
915
861345
0
0
810
564645
0
0
0
0
0
0
0
0
2205
1071720
1980
1025820
1230
734955
0
0
0
0
750
577875
1650
738825
3585
833025
4185
968970
0
0
3180
913470
2835
676380
1170
518220
0
0
0
0
0
0
3735
990480
4695
927900
3630
1074675
0
0
0
0
0
0
0
0
1980
744570
0
0
3750
768390
0
0
2640
901170
0
0
0
0
2025
645105
0
0
0
0
1830
671715
0
0
0
0
2040
749295
2175
577485
0
0
0
0
0
0
2565
649110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2340
603345
0
0
0
0
0
0
0
0
0
0
0
0
990
833820
0
0
420
432915
0
0
615
491490
0
0
0
0
0
0
0
0
2325
994305
1515
572475
1425
677340
0
0
930
423000
1470
553065
2685
660750
2595
723240
4095
887730
0
0
2505
718185
1155
455985
0
0
0
0
0
0
0
0
4605
918015
3450
998475
3390
990585
0
0
0
0
0
0
0
0
3450
758445
0
0
2415
804705
0
0
1650
697710
0
0
0
0
4110
693180
0
0
0
0
2280
649035
0
0
0
0
0
0
2730
617025
0
0
0
0
0
0
840
444780
0
0
0
0
2460
508305
0
0
0
0
0
0
0
0
870
376755
0
0
0
0
0
0
0
0
0
0
0
0
660
384345
0
0
315
312195
0
0
0
0
0
0
0
0
0
0
0
0
1545
507855
1065
415710
1245
468915
1080
321195
1365
370515
2040
435315
2655
497505
2625
529065
2925
599070
0
0
1995
522375
0
0
0
0
0
0
0
0
0
0
2595
638685
1845
568620
2100
591195
0
0
0
0
0
0
0
0
2415
510585
0
0
1455
519045
0
0
0
0
0
0
0
0
2625
465630
0
0
0
0
1590
491325
0
0
0
0
0
0
2295
380640
0
0
0
0
0
0
1035
415305
0
0
0
0
1800
316560
0
0
0
0
0
0
0
0
960
365295
0
0
0
0
0
0
0
0
0
0
0
0
540
338925
0
0
375
265980
0
0
0
0
0
0
0
0
0
0
0
0
1170
463740
885
345855
495
238875
585
263130
1080
306360
1215
356940
1380
385800
1215
369345
2010
508560
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1590
539625
1620
431670
0
0
0
0
0
0
0
0
0
0
1110
449445
0
0
855
416595
0
0
0
0
0
0
0
0
1335
419280
0
0
0
0
900
415425
0
0
0
0
0
0
1260
352365
0
0
0
0
0
0
585
384495
0
0
0
0
735
292485
0
0
0
0
0
0
0
0
630
334230
915
372240
0
0
0
0
1185
550185
0
0
0
0
0
0
0
0
855
413730
0
0
1770
576000
0
0
0
0
0
0
0
0
0
0
1110
519810
2565
595290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1740
597405
2265
536805
1695
455400
1770
394425
1605
356880
960
275355
1185
201645
1785
569880
1980
600195
0
0
0
0
0
0
0
0
0
0
0
0
1080
478605
0
0
2010
552045
0
0
0
0
0
0
0
0
0
0
2040
486180
0
0
0
0
1770
544620
0
0
0
0
0
0
0
0
2010
436785
0
0
0
0
0
0
1665
507060
0
0
0
0
0
0
0
0
1050
498630
0
0
0
0
1275
664575
0
0
0
0
0
0
0
0
1470
572145
0
0
2355
784245
0
0
0
0
0
0
0
0
840
564195
1965
728190
3885
788985
0
0
0
0
0
0
0
0
0
0
1335
592140
0
0
3495
777870
2895
648345
2715
577815
2085
515880
1815
426330
1095
293670
1140
697830
1860
698205
2820
750600
0
0
0
0
0
0
0
0
0
0
0
0
1860
634755
0
0
2895
703230
0
0
0
0
0
0
0
0
0
0
2520
625635
0
0
0
0
3390
705435
0
0
0
0
0
0
0
0
1980
542010
0
0
0
0
0
0
2310
636330
0
0
0
0
0
0
0
0
1650
834225
0
0
0
0
1245
902730
0
0
0
0
900
724980
0
0
2970
994650
0
0
2415
1157250
0
0
0
0
0
0
0
0
1710
945420
4965
1139310
5190
1236450
0
0
0
0
0
0
0
0
1140
708300
2460
1018575
0
0
5910
1129425
5010
947460
3105
856665
1830
678105
1320
466950
0
0
2415
1022520
4125
1113615
5550
1153410
0
0
0
0
0
0
0
0
1290
837615
0
0
4020
1057545
0
0
2910
966375
0
0
0
0
0
0
0
0
0
0
4335
1059690
0
0
0
0
2805
781365
0
0
0
0
0
0
0
0
3600
950790
0
0
0
0
0
0
1620
726600
0
0
810
689430
0
0
0
0
1425
982620
0
0
0
0
1140
704325
0
0
0
0
1260
861810
0
0
1755
1179210
0
0
1590
941970
0
0
0
0
0
0
0
0
3255
1083600
5145
1322025
3750
1169130
0
0
0
0
0
0
825
603450
1875
875955
5100
1179675
0
0
6540
1164930
4065
1095075
2415
864420
1425
544965
0
0
0
0
3285
1196040
7125
1124670
4980
1081635
0
0
0
0
0
0
0
0
2580
991680
0
0
5190
1087095
0
0
4365
885870
0
0
0
0
2730
964470
0
0
0
0
5475
1085085
0
0
0
0
1305
849075
0
0
0
0
0
0
0
0
4575
979365
0
0
0
0
0
0
2100
738510
0
0
1035
829635
0
0
0
0
1035
876540
0
0
0
0
1035
590010
0
0
0
0
1905
1035255
0
0
1440
1016085
0
0
1770
799980
0
0
0
0
0
0
0
0
3450
1219350
5100
1173435
3795
1085445
0
0
0
0
885
661500
2490
908385
3975
1131510
7110
1296000
0
0
4740
1318515
2925
1090155
2235
740835
0
0
0
0
0
0
6990
1351125
7305
1228155
3405
1232640
0
0
0
0
0
0
0
0
5220
1174650
0
0
4350
1011360
0
0
2250
923670
0
0
0
0
4605
1109040
0
0
0
0
4065
957075
0
0
0
0
2190
874305
3570
1024125
0
0
0
0
0
0
4140
901395
0
0
0
0
0
0
0
0
0
0
1425
774090
0
0
0
0
900
519255
0
0
0
0
0
0
0
0
0
0
1830
918930
0
0
1110
627105
0
0
975
508290
0
0
0
0
0
0
0
0
3930
1025175
2565
945780
2025
767100
0
0
915
391785
1230
545400
3345
716250
4305
808650
4170
987840
0
0
3240
994110
1365
621600
0
0
0
0
0
0
0
0
4920
1081920
2835
995130
2970
1120125
0
0
0
0
0
0
0
0
2700
935100
0
0
3540
839550
0
0
1725
986115
0
0
0
0
2925
897450
0
0
0
0
1365
633765
0
0
0
0
0
0
3150
737070
0
0
0
0
0
0
1095
506310
0
0
0
0
0
0
0
0
0
0
1395
589350
0
0
0
0
615
288420
0
0
0
0
0
0
0
0
0
0
1920
721920
0
0
1080
377415
0
0
0
0
0
0
0
0
0
0
0
0
4410
835665
2700
554145
1500
629010
1140
280755
1815
397950
2700
496980
3165
541575
4320
670650
4095
876930
0
0
3480
708870
0
0
0
0
0
0
0
0
0
0
3855
900060
2505
818685
2760
877710
0
0
0
0
0
0
0
0
3075
724440
0
0
1905
694290
0
0
0
0
0
0
0
0
3465
680355
0
0
0
0
945
588585
0
0
0
0
0
0
2985
593400
0
0
0
0
0
0
1365
523245
0
0
0
0
0
0
0
0
0
0
705
342645
0
0
0
0
480
257370
0
0
0
0
0
0
0
0
0
0
855
379005
0
0
450
285750
0
0
0
0
0
0
0
0
0
0
0
0
2475
612660
840
418215
600
225615
765
276960
1680
357630
2070
419145
2400
482610
2190
559215
2595
687450
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1905
633285
1515
572160
0
0
0
0
0
0
0
0
0
0
1545
530790
0
0
1275
538890
0
0
0
0
0
0
0
0
1845
460275
0
0
0
0
1050
538935
0
0
0
0
0
0
1965
412620
0
0
0
0
0
0
840
461730
660
324795
0
0
0
0
0
0
1515
498210
0
0
0
0
0
0
1140
387525
0
0
0
0
1830
601050
0
0
0
0
0
0
0
0
960
456105
0
0
3000
611400
0
0
0
0
0
0
0
0
0
0
1980
540705
2310
605895
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2850
610185
1920
548655
2625
473595
2235
393720
1620
359610
675
280845
525
210825
1470
581625
2550
681195
0
0
0
0
0
0
0
0
0
0
0
0
1740
506445
0
0
2940
628035
0
0
0
0
0
0
0
0
0
0
2205
499155
0
0
0
0
2865
619200
0
0
0
0
0
0
0
0
0
0
555
489015
0
0
0
0
0
0
960
519195
0
0
0
0
0
0
1515
616335
0
0
0
0
1710
662625
0
0
0
0
0
0
0
0
1050
667710
0
0
2205
722055
0
0
0
0
0
0
0
0
1245
552255
2610
768600
2805
733050
0
0
0
0
0
0
0
0
0
0
1065
583920
0
0
2370
771720
4170
657225
1815
566640
1440
502425
1335
435840
735
299010
1020
763485
2205
853245
3615
904980
0
0
0
0
0
0
0
0
0
0
0
0
2115
738690
0
0
2625
850215
0
0
0
0
0
0
0
0
0
0
2400
717915
0
0
0
0
3090
810720
0
0
0
0
0
0
0
0
0
0
975
611520
0
0
0
0
0
0
930
428205
0
0
0
0
0
0
2160
756240
0
0
0
0
1335
596370
0
0
0
0
840
541755
0
0
2730
742230
0
0
2940
746175
0
0
0
0
0
0
0
0
2325
717525
4035
857700
4455
834855
0
0
0
0
0
0
0
0
960
584010
2160
804915
0
0
3990
816615
3375
653025
1605
549225
1230
481275
945
342030
0
0
2130
898110
3720
935865
3855
938595
0
0
0
0
0
0
0
0
1680
795465
0
0
2835
851205
0
0
3645
905655
0
0
0
0
0
0
0
0
0
0
2775
794265
0
0
0
0
3330
885930
0
0
0
0
0
0
0
0
0
0
1080
884655
0
0
0
0
0
0
780
489315
720
743160
0
0
0
0
2400
1114230
0
0
0
0
1620
720360
0
0
0
0
1890
946665
0
0
3945
1206465
0
0
3345
1003845
0
0
0
0
0
0
0
0
4740
1253625
7200
1255125
6135
1221075
0
0
0
0
0
0
900
737325
1770
981360
4695
1276080
0
0
6300
1240815
3450
1034895
2265
890220
1380
604410
0
0
0
0
5505
1460100
6015
1401870
5520
1353675
0
0
0
0
0
0
0
0
3945
1391160
0
0
5985
1394340
0
0
3420
1033185
0
0
0
0
3585
1236855
0
0
0
0
4800
1309905
0
0
0
0
3045
980790
0
0
1095
566175
0
0
0
0
0
0
675
660270
0
0
0
0
0
0
0
0
2010
744210
0
0
0
0
1995
834705
0
0
0
0
1005
565800
0
0
0
0
2445
881310
0
0
2595
870615
0
0
2385
866790
0
0
0
0
0
0
0
0
4215
1018980
5595
1073745
4695
1224720
0
0
0
0
1230
578715
1935
692835
2610
898095
5160
1091880
0
0
2865
1208385
2670
1053030
1395
695460
0
0
0
0
0
0
5655
1422375
4755
1193265
5250
1266645
0
0
0
0
0
0
0
0
4125
1277370
0
0
4890
1122480
0
0
1230
1203525
0
0
0
0
5145
1170930
0
0
0
0
3090
1132095
0
0
0
0
3195
1069530
0
0
780
432135
0
0
0
0
0
0
645
321705
0
0
0
0
0
0
0
0
1395
560250
0
0
0
0
945
438840
0
0
0
0
0
0
0
0
0
0
1560
626325
0
0
1380
569085
0
0
1065
473580
0
0
0
0
0
0
0
0
3195
718935
2625
760890
2280
705375
0
0
840
346935
990
439800
1860
526980
3435
650040
4155
778665
0
0
2175
824145
1290
581865
0
0
0
0
0
0
0
0
4140
901170
2805
744195
2760
872400
0
0
0
0
0
0
0
0
3060
818280
0
0
1770
642855
0
0
2055
797115
0
0
0
0
2895
771060
0
0
0
0
1680
658200
0
0
0
0
0
0
0
0
1095
474720
0
0
0
0
0
0
510
273585
0
0
0
0
0
0
0
0
1800
613215
0
0
0
0
930
341955
0
0
0
0
0
0
0
0
0
0
2355
669840
0
0
1725
474420
0
0
0
0
0
0
0
0
0
0
0
0
2955
776565
1695
671790
1800
584940
615
281730
1380
373020
1725
458190
2850
516375
2565
632220
2970
858885
0
0
2640
705120
0
0
0
0
0
0
0
0
0
0
3615
835425
2175
726675
2925
933660
0
0
0
0
0
0
0
0
2955
782415
0
0
1410
638565
0
0
0
0
0
0
0
0
2880
694515
0
0
0
0
990
624570
0
0
0
0
0
0
0
0
1230
543660
0
0
0
0
0
0
525
354990
0
0
0
0
0
0
0
0
3225
644430
0
0
0
0
720
406500
0
0
0
0
0
0
0
0
0
0
3045
710580
0
0
1215
500235
0
0
0
0
0
0
0
0
0
0
0
0
2775
884985
1935
636075
600
215640
720
289095
1230
354090
2325
425055
1950
529920
2520
621015
3120
793035
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2925
874950
2385
842385
0
0
0
0
0
0
0
0
0
0
1950
785580
0
0
1605
809370
0
0
0
0
0
0
0
0
2415
669555
0
0
0
0
1635
744510
1215
370035
0
0
0
0
0
0
0
0
1005
470100
0
0
0
0
1215
428760
0
0
0
0
0
0
2505
603705
0
0
0
0
0
0
1020
495450
0
0
0
0
2610
631800
0
0
0
0
0
0
0
0
1260
552795
0
0
3105
612075
0
0
0
0
0
0
0
0
0
0
1965
686295
2550
742980
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1950
729915
2880
695820
2850
662925
1770
574230
2115
474765
1050
329520
975
245085
2460
771615
4230
844725
0
0
0
0
0
0
0
0
0
0
0
0
2385
620280
0
0
3765
736170
0
0
0
0
0
0
0
0
0
0
0
0
1095
498495
0
0
0
0
0
0
0
0
555
308760
0
0
0
0
1545
602865
0
0
0
0
0
0
2010
463305
0
0
0
0
0
0
1935
647595
0
0
0
0
3075
628350
0
0
0
0
0
0
0
0
1890
658440
0
0
3075
679230
0
0
0
0
0
0
0
0
1620
691770
2700
812115
3270
825750
0
0
0
0
0
0
0
0
0
0
1140
615480
0
0
3900
837945
3120
769350
2340
673170
1860
543180
1215
402930
900
298875
1845
941220
2850
918255
3660
956355
0
0
0
0
0
0
0
0
0
0
0
0
2205
679575
0
0
3240
880560
0
0
0
0
0
0
0
0
0
0
0
0
1440
812235
0
0
0
0
0
0
0
0
630
353685
0
0
0
0
2355
954060
0
0
0
0
0
0
1740
570195
0
0
0
0
0
0
3555
1043355
0
0
0
0
3015
789990
0
0
0
0
1050
711885
0
0
3450
1027620
0
0
3690
904785
0
0
0
0
0
0
0
0
2535
1051125
3630
1231875
5190
1150875
0
0
0
0
0
0
0
0
660
716670
2400
936330
0
0
4380
1259145
3630
1023525
2730
896790
1320
644220
1410
507780
0
0
3900
1345845
4650
1404255
4455
1482930
0
0
0
0
0
0
0
0
2430
1075875
0
0
2775
1243725
0
0
4260
1361940
0
0
0
0
0
0
0
0
0
0
0
0
1005
582150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1545
693270
0
0
0
0
0
0
810
400170
735
557325
0
0
0
0
2865
818805
0
0
0
0
2430
599460
0
0
0
0
1830
720420
0
0
3840
827760
0
0
2715
889470
0
0
0
0
0
0
0
0
2745
941445
5370
982170
4860
1043280
0
0
0
0
0
0
810
561900
1125
710160
3015
977955
0
0
3615
1036095
2385
840570
1710
728580
1260
504945
0
0
0
0
3465
1165305
5250
1182675
5010
1173270
0
0
0
0
0
0
0
0
2115
981330
0
0
3465
1047540
0
0
2325
1091775
0
0
0
0
0
0
0
0
0
0
0
0
615
500025
0
0
0
0
0
0
570
485625
0
0
0
0
0
0
1215
614550
0
0
0
0
0
0
0
0
1515
633015
0
0
0
0
1815
701430
0
0
0
0
1575
565410
0
0
0
0
1560
733245
0
0
3705
837480
0
0
1860
799590
0
0
0
0
0
0
0
0
3285
906810
4605
958380
3435
1004385
0
0
0
0
510
521700
1545
639480
2400
791115
4440
1058805
0
0
3090
897360
1995
706005
1020
561300
0
0
0
0
0
0
3405
1173990
4695
1144560
4290
1083930
0
0
0
0
0
0
0
0
2730
970245
0
0
3525
983160
0
0
1890
1053150
0
0
705
352275
0
0
0
0
0
0
0
0
900
311100
0
0
0
0
0
0
1590
469935
0
0
0
0
0
0
1275
401835
0
0
0
0
0
0
0
0
1830
560400
0
0
0
0
2085
550455
0
0
0
0
0
0
0
0
0
0
1995
577095
0
0
1875
627105
0
0
735
438765
0
0
0
0
0
0
0
0
2325
698520
2385
734715
2430
719670
0
0
735
391560
900
471525
2205
579225
1950
642720
2370
741990
0
0
1875
610305
825
461910
0
0
0
0
0
0
0
0
3180
858285
3180
687810
1110
847725
0
0
0
0
0
0
0
0
3420
739545
0
0
1395
551700
0
0
1695
738645
0
0
360
254310
0
0
0
0
0
0
0
0
330
187890
0
0
0
0
0
0
720
330630
0
0
0
0
0
0
735
230610
0
0
0
0
0
0
0
0
1515
426180
0
0
0
0
1050
351570
0
0
0
0
0
0
0
0
0
0
2385
482520
0
0
1125
451920
0
0
0
0
0
0
0
0
0
0
0
0
2070
609495
1710
548790
1305
472830
465
232800
1275
325680
2145
377385
2100
508095
2280
531285
2310
593955
0
0
2400
526185
0
0
0
0
0
0
0
0
0
0
2085
650880
1815
549555
1425
695610
0
0
0
0
0
0
0
0
2040
581685
0
0
975
470535
0
0
0
0
0
0
1065
368310
0
0
0
0
0
0
0
0
420
266610
0
0
0
0
0
0
1485
453600
0
0
0
0
0
0
330
306960
0
0
0
0
0
0
0
0
2190
512940
0
0
0
0
1080
396735
0
0
0
0
0
0
0
0
0
0
2025
563520
0
0
1365
461730
0
0
0
0
0
0
0
0
0
0
0
0
2655
704265
1905
579450
570
224895
990
256935
1215
320715
1530
381435
1680
497025
1455
482610
2370
665820
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2115
778440
1980
773895
0
0
0
0
0
0
0
0
0
0
975
672135
0
0
1620
634080
930
404190
0
0
0
0
0
0
0
0
0
0
615
303330
0
0
1470
482160
0
0
0
0
0
0
0
0
1470
437280
0
0
0
0
1335
527175
0
0
0
0
0
0
2670
570330
0
0
0
0
0
0
1350
556230
0
0
0
0
3435
636600
0
0
0
0
0
0
0
0
900
650295
0
0
2490
768645
0
0
0
0
0
0
0
0
0
0
2595
862335
3540
956880
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2460
883065
2535
830265
2730
864150
2775
847665
2790
689835
1185
554610
1185
476295
4245
859935
4395
1007745
0
0
0
0
0
0
0
0
0
0
0
0
0
0
885
619365
0
0
0
0
0
0
0
0
0
0
855
313755
0
0
2340
755235
0
0
0
0
0
0
0
0
1815
511905
0
0
0
0
1680
838185
0
0
0
0
0
0
3810
757515
0
0
0
0
0
0
2415
886230
0
0
0
0
6135
889560
0
0
0
0
0
0
0
0
2805
1000095
0
0
4935
1063500
0
0
0
0
0
0
0
0
2070
1175070
3870
1326180
5580
1425930
0
0
0
0
0
0
0
0
0
0
1935
1005480
0
0
3495
1334940
2970
1322475
3480
1256565
4710
995730
2115
827055
1395
692625
4320
1347090
4650
1464645
5850
1501905
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1110
780165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3015
944610
0
0
0
0
0
0
0
0
825
402945
0
0
0
0
3990
987585
0
0
0
0
0
0
2400
619815
0
0
0
0
0
0
4665
1068375
0
0
0
0
5100
1003170
0
0
0
0
1395
875970
0
0
3420
1097310
0
0
3795
1130415
0
0
0
0
0
0
0
0
2970
1284885
4695
1478760
5040
1503420
0
0
0
0
0
0
0
0
720
879270
2565
1108740
0
0
3735
1411860
4170
1310040
2505
1082220
1530
851100
1365
722115
0
0
4155
1454235
5700
1516290
6585
1582290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
945
596565
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1965
791175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3150
889125
0
0
0
0
0
0
1320
466725
990
658650
0
0
0
0
4530
930150
0
0
0
0
2505
780885
0
0
0
0
1830
863895
0
0
4665
1023000
0
0
2265
929025
0
0
0
0
0
0
0
0
3915
1312470
5715
1398525
4725
1193190
0
0
0
0
0
0
1200
738675
1260
902070
2805
1051575
0
0
3285
1204620
3420
1012935
1155
905850
1065
731115
0
0
0
0
3825
1354710
6615
1418595
6015
1536090
0
0
0
0
0
0
0
0
0
0
0
0
0
0
525
344445
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1350
471630
0
0
0
0
0
0
825
460785
0
0
0
0
0
0
1980
524070
0
0
0
0
0
0
0
0
1920
656865
0
0
0
0
2835
644235
0
0
0
0
1335
485400
0
0
0
0
2085
754680
0
0
3435
733920
0
0
2790
795330
0
0
0
0
0
0
0
0
4110
1071135
3615
1019175
3645
920325
0
0
0
0
1215
548340
1500
663270
1740
771240
1770
905670
0
0
2445
869550
1080
726180
1020
671910
0
0
0
0
0
0
3840
1037205
5160
1119975
2970
1053465
0
0
0
0
0
0
0
0
0
0
0
0
0
0
345
229170
0
0
0
0
660
373590
0
0
0
0
0
0
0
0
1095
312135
0
0
0
0
0
0
1230
487125
0
0
0
0
0
0
1665
419625
0
0
0
0
0
0
0
0
1890
582435
0
0
0
0
2265
585180
0
0
0
0
0
0
0
0
0
0
2160
663360
0
0
1635
583275
0
0
1125
448200
0
0
0
0
0
0
0
0
2835
864330
3825
800340
2430
666360
0
0
1170
535665
1470
628830
1380
723015
1815
773460
2040
838395
0
0
1650
696525
630
578040
0
0
0
0
0
0
0
0
3315
898380
3780
859530
2505
917370
0
0
495
203955
0
0
0
0
0
0
0
0
0
0
270
167475
0
0
0
0
1245
264450
0
0
0
0
0
0
0
0
690
206025
0
0
0
0
0
0
1305
314115
0
0
0
0
0
0
1290
296250
0
0
0
0
0
0
0
0
1695
372420
0
0
0
0
855
418305
0
0
0
0
0
0
0
0
0
0
1845
462510
0
0
1155
459090
0
0
0
0
0
0
0
0
0
0
0
0
2445
539295
1875
548715
1125
564990
1245
334035
1740
405195
1275
490515
1395
555390
1650
542640
1875
588120
0
0
1335
486855
0
0
0
0
0
0
0
0
0
0
2340
605655
1935
571185
1485
609045
0
0
525
233520
0
0
0
0
0
0
0
0
0
0
360
240060
0
0
0
0
750
311700
0
0
0
0
0
0
0
0
675
291675
0
0
0
0
0
0
1410
379710
0
0
0
0
0
0
525
345885
0
0
0
0
0
0
0
0
2130
434475
0
0
0
0
1305
435900
0
0
0
0
0
0
0
0
0
0
2205
543030
0
0
1110
466935
0
0
0
0
0
0
0
0
0
0
0
0
2955
610455
2100
658290
1170
345645
1485
415110
1485
488985
1500
540645
1455
574260
1815
578850
2085
612735
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2925
712350
2190
623895
1305
583410
0
0
0
0
0
0
0
0
0
0
0
0
720
365310
1890
676995
0
0
0
0
0
0
0
0
0
0
1560
550590
0
0
2385
755085
0
0
0
0
0
0
0
0
3615
745905
0
0
0
0
1740
795630
0
0
0
0
0
0
5040
894855
0
0
0
0
0
0
2325
929475
0
0
0
0
5955
1073355
0
0
0
0
0
0
0
0
2265
1073460
0
0
5400
1260420
0
0
0
0
0
0
0
0
0
0
4575
1349265
5490
1507710
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3855
1170300
3045
1169535
4245
1267125
4110
1279230
3150
1345455
2625
1355565
3150
1301820
0
0
1650
704790
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2505
803475
0
0
0
0
0
0
0
0
0
0
570
332850
0
0
3270
864465
0
0
0
0
0
0
0
0
2145
523350
0
0
0
0
3120
923985
0
0
0
0
0
0
4800
900165
0
0
0
0
0
0
3210
1044705
0
0
0
0
5550
1029570
0
0
0
0
0
0
0
0
3300
1155585
0
0
4485
1266300
0
0
0
0
0
0
0
0
4410
1508475
6480
1605285
6960
1628400
0
0
0
0
0
0
0
0
0
0
2490
1121070
0
0
4545
1334850
4215
1295160
4905
1390665
3330
1369350
3060
1504290
2700
1338525
0
0
0
0
1290
901080
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4605
1136625
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5160
1164855
0
0
0
0
0
0
0
0
1785
608910
0
0
0
0
5640
1266270
0
0
0
0
0
0
4035
991455
0
0
0
0
0
0
4365
1409940
0
0
0
0
4035
1278435
0
0
0
0
1965
1284915
0
0
5805
1643940
0
0
4260
1449390
0
0
0
0
0
0
0
0
6480
1954200
8400
2022360
8460
2079360
0
0
0
0
0
0
0
0
1680
1268055
4050
1436295
0
0
5535
1687395
4305
1719075
4380
1806345
3105
1906410
2910
1781325
0
0
0
0
0
0
1770
794340
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2565
945765
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5370
1141230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6060
1175805
0
0
0
0
0
0
2265
746115
2010
1028895
0
0
0
0
6285
1350780
0
0
0
0
4770
1262205
0
0
0
0
3465
1350975
0
0
5910
1570155
0
0
4845
1515165
0
0
0
0
0
0
0
0
7860
1869915
8655
1995930
9480
1890360
0
0
0
0
0
0
1455
1228455
2415
1293705
3450
1566915
0
0
5430
1710765
3375
1696455
3180
1904760
2370
1741665
0
0
0
0
0
0
0
0
1050
514245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1635
611025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3825
715395
0
0
0
0
0
0
1650
680685
0
0
0
0
0
0
4395
818310
0
0
0
0
0
0
0
0
3405
936015
0
0
0
0
5475
1079505
0
0
0
0
2535
644700
0
0
0
0
3705
1289580
0
0
4650
1160070
0
0
2355
968580
0
0
0
0
0
0
0
0
6075
1654350
8130
1601280
5160
1259340
0
0
0
0
2175
1008285
2715
1120875
2340
1197075
4365
1397940
0
0
4335
1507665
1725
1605015
2115
1539855
0
0
0
0
0
0
0
0
0
0
495
238515
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1620
298320
0
0
0
0
1260
461100
0
0
0
0
0
0
0
0
2235
441795
0
0
0
0
0
0
2955
658500
0
0
0
0
0
0
2625
536475
0
0
0
0
0
0
0
0
3195
824745
0
0
0
0
3345
692880
0
0
0
0
0
0
0
0
0
0
3945
989115
0
0
4185
766470
0
0
1845
850320
0
0
0
0
0
0
0
0
5385
1153980
5055
1080090
3450
1031055
0
0
1905
774195
2550
817860
2790
947400
2670
957405
4500
1113330
0
0
3165
1161060
1605
952365
0
0
0
0
0
0
0
0
0
0
0
0
555
243435
0
0
1410
393045
0
0
0
0
0
0
0
0
0
0
1215
295320
0
0
0
0
1800
474615
0
0
0
0
0
0
0
0
2145
414750
0
0
0
0
0
0
4275
570855
0
0
0
0
0
0
2325
554445
0
0
0
0
0
0
0
0
4320
693780
0
0
0
0
2160
689490
0
0
0
0
0
0
0
0
0
0
3435
852600
0
0
2280
774645
0
0
0
0
0
0
0
0
0
0
0
0
4110
940065
3510
983895
2955
1033905
2205
618825
2685
770760
3270
806985
4290
928860
3075
880785
3645
1032780
0
0
2940
907470
765
310800
0
0
0
0
0
0
0
0
0
0
0
0
600
315885
0
0
1380
392250
0
0
0
0
0
0
0
0
0
0
705
355980
0
0
0
0
2025
467700
0
0
0
0
0
0
0
0
1320
442005
0
0
0
0
0
0
3585
533160
0
0
0
0
0
0
1455
532200
0
0
0
0
0
0
0
0
4005
755685
0
0
0
0
1965
660765
0
0
0
0
0
0
0
0
0
0
2940
914595
0
0
1785
877215
0
0
0
0
0
0
0
0
0
0
0
0
4530
1027350
3615
1082025
3015
648165
4125
700470
3240
818340
3360
956190
3510
1082745
2685
969105
3960
1016085
0
0
0
48
-150
-37
-150
-44
-147
-30
133
-30
150
-9
16
-22
-150
-6
-55
-29
150
16
107
62
150
-58
0
149
150
150
-150
97
-150
6
-12
-29
17
-23
-32
-15
77
22
2
7
-149
-4
150
38
28
-10
0
47
-150
-138
2
-149
-150
-150
0
77
-46
150
0
150
-150
150
150
149
0
150
-150
150
-150
0
32
70
150
88
-150
8
-150
-17
0
70
32
-118
0
0
-150
-76
24
-35
150
30
-118
22
-22
-4
0
18
102
16
-78
-24
-150
-30
44
10
150
0
-150
-150
-150
-109
150
-21
-88
-61
128
35
150
48
0
150
150
103
0
150
-150
150
58
150
-22
8
0
-10
54
42
-120
-13
-90
60
150
62
-122
-2
0
0
150
-126
0
0
32
150
0
150
0
76
-32
-148
150
150
32
150
-150
50
0
150
64
110
0
134
148
100
150
149
150
134
150
104
150
-40
-150
150
0
64
0
150
0
150
0
-150
0
150
0
150
51
150
10
76
-83
-25
-19
36
43
-51
0
53
15
7
-14
-32
-150
-40
-102
-1
134
1
0
-149
-149
-149
-150
-120
12
-150
0
150
-150
143
-6
150
-92
60
126
-104
-148
37
150
27
-81
-19
0
76
-108
48
148
26
-150
-26
-44
54
6
-1
0
-150
0
-150
0
-150
0
-150
0
0
0
71
32
6
-4
54
11
9
-79
-19
-86
68
8
0
150
0
-150
-150
-84
46
-146
-142
-150
84
150
61
-150
150
149
149
-149
126
144
44
-116
83
-20
-23
0
22
-78
2
-87
10
21
47
129
75
8
0
-150
-98
32
-89
150
75
-150
138
0
90
0
20
150
-150
0
-150
-150
-150
59
-42
0
150
24
-83
0
-107
0
150
-118
96
0
-101
150
23
0
74
150
150
150
-78
-128
126
64
-107
2
-51
0
-48
0
128
116
12
-150
88
150
15
150
16
37
0
-150
-142
0
-41
0
-86
64
150
0
150
8
92
136
0
0
-136
150
150
0
-150
2
149
-148
-150
0
-102
18
127
-150
150
0
-15
0
150
150
-2
81
150
-150
-150
-149
-150
149
-98
-150
-150
74
-149
0
-150
-2
149
147
85
-150
26
-120
-150
-95
-21
150
0
-150
-150
0
0
-150
-10
0
-150
-150
49
-150
42
-150
-136
101
-150
-71
150
150
79
-150
-149
0
44
150
-107
-150
7
45
42
-5
-28
52
3
-134
-127
0
-101
0
141
0
150
0
150
128
106
11
-128
-150
-149
0
-150
-75
-150
-32
-150
-79
-150
0
146
0
118
-150
-77
0
98
-108
41
68
1
0
97
110
48
-53
17
-150
-2
-129
46
150
0
0
-150
0
53
0
32
150
-32
0
44
104
150
0
-150
150
-150
-127
-150
-14
-150
0
-150
-22
-150
0
118
4
87
0
-36
-62
-64
150
-2
-150
-32
-150
-4
-150
-60
-150
-4
-150
64
-150
9
-150
-40
0
8
48
21
65
-50
47
-44
118
72
12
4
0
150
126
-48
-150
126
27
-101
150
86
142
14
0
-104
150
108
150
-104
25
-26
-150
49
150
0
150
34
150
-32
-10
-5
150
32
128
-101
64
20
16
-8
-118
-16
28
-38
138
-12
150
-54
150
46
0
74
12
21
-122
-150
-128
-50
-26
-7
33
2
0
-16
134
-35
109
40
150
-36
150
81
34
2
150
86
-54
-150
96
-150
-21
-150
0
-57
150
-16
0
-150
-32
-150
-70
-149
-150
-150
-150
106
150
128
0
0
150
-38
-148
-87
91
-79
150
-39
-89
12
0
150
8
-53
150
45
-149
2
0
74
94
6
0
102
-43
-150
-150
-142
126
55
150
-142
150
24
0
-8
-11
-73
88
-139
150
39
150
-27
150
50
150
-96
-13
149
-150
-150
-36
-64
150
-150
101
-98
150
150
-32
-150
94
-66
-54
-111
0
65
148
78
-64
-40
72
61
46
-102
-150
-99
0
-37
36
6
150
82
-150
8
3
100
150
116
0
46
-28
16
13
-150
27
-150
139
20
149
-149
78
43
31
-57
-19
-23
-11
-98
-112
40
90
-25
-52
13
112
-7
0
-50
-123
-150
-150
-148
-150
-150
-13
-20
149
33
20
-150
-80
150
11
150
101
22
0
56
38
-12
-141
-23
-63
-16
136
-98
-14
-54
-5
40
144
3
0
-74
-149
-150
-33
-54
100
-49
-50
-93
150
-2
-149
-150
0
-123
-67
150
150
-24
0
-150
150
102
19
-150
150
-62
-55
16
140
150
-68
5
9
11
0
-150
0
-112
150
-74
150
-53
-150
-135
150
-103
0
-54
-86
-105
65
-29
-85
-134
150
-149
-86
45
-60
-150
150
-32
0
-150
0
-149
0
150
0
116
20
-149
-89
113
-130
79
8
-77
32
-60
128
54
-150
-143
-64
-48
0
125
150
-62
0
-124
-149
-131
-150
-150
-118
150
-150
62
113
-150
-150
66
149
21
-16
63
25
-91
18
25
-23
-54
-75
-117
52
-5
0
8
-90
112
-8
147
-8
-118
0
70
150
58
24
115
-39
64
150
150
-39
-90
44
67
114
13
-150
81
150
-44
36
-35
-1
135
150
-82
150
80
0
0
0
-8
0
0
0
0
0
0
0
0
150
-128
-150
-150
-45
-104
41
-40
21
-48
24
34
-150
117
106
-87
150
39
150
-1
-113
-37
3
-49
0
-82
-150
-1
22
9
-81
-17
143
-9
-42
0
-150
-68
-148
-150
-102
-88
-90
-107
-43
-56
-82
61
0
-16
-72
-21
59
-11
-42
-28
47
-14
48
-2
-140
61
-133
-127
-150
9
-84
22
4
-138
70
-40
0
-6
-149
-41
38
-22
45
0
150
-17
64
1
0
-10
16
-3
-54
2
4
18
150
-19
6
0
-150
-150
-150
31
-150
17
-150
-150
0
150
-150
-150
-32
-42
150
-98
150
-111
-150
78
74
-149
138
-139
-150
-3
150
150
150
150
150
150
0
150
150
4
-150
-52
150
-8
42
-66
-150
150
0
-100
0
-150
150
-148
150
49
150
-19
150
150
150
-90
150
-11
0
-150
0
-150
0
-150
73
27
0
-66
-148
128
-128
-150
150
-130
62
150
-150
-22
0
150
150
27
-32
-150
0
0
-38
-150
0
60
150
-150
150
150
-150
-34
150
-8
150
30
150
122
150
-19
78
-34
0
32
11
46
120
-30
-115
26
14
-65
-8
14
-112
32
86
28
150
8
-144
-60
150
7
150
8
150
150
150
-150
-150
-150
150
-150
-150
-150
-149
150
49
150
149
25
111
-32
150
150
-108
9
-150
99
-41
-150
-150
-130
-120
-150
150
-150
-57
-150
70
-150
-2
-150
-150
150
150
-75
-150
-7
-112
26
-113
99
-149
-150
-150
-69
-72
-150
121
-150
42
-61
-67
-150
0
117
0
40
150
150
0
0
150
-150
150
-59
24
-141
0
-150
0
-23
-150
-29
0
-150
150
-150
0
-150
150
-150
0
-41
0
-102
8
150
150
-150
-14
-149
-122
-58
100
-2
-150
-42
-80
24
-40
-149
141
-76
-20
-23
64
52
87
-9
-8
-150
150
-61
150
60
106
-32
15
-10
50
15
107
60
102
-29
0
-129
-150
1
31
35
98
3
-115
34
17
8
36
22
15
0
61
27
22
28
69
27
14
13
1
16
7
0
25
14
19
12
25
13
18
12
26
9
7
0
25
4
0
0
15
14
15
12
11
8
13
0
1
3
0
0
-1
0
0
0
14
18
16
0
2
8
0
0
-4
0
0
0
0
0
0
0
53
31
49
0
76
36
44
38
82
42
34
26
0
33
21
0
28
22
32
19
23
16
19
13
26
12
14
0
23
5
0
0
6
15
11
1
4
10
12
2
-2
8
0
0
4
0
0
0
7
7
8
0
-2
8
0
0
-1
0
0
0
0
0
1
0
25
63
55
0
63
111
69
71
118
107
71
49
0
52
62
0
5
74
52
64
76
47
38
63
78
44
46
0
21
53
0
0
22
49
44
45
-2
30
15
0
-10
33
0
0
-14
0
0
0
-12
35
30
0
-28
8
0
0
-37
0
0
0
0
0
0
0
49
54
49
51
44
103
52
29
18
32
29
63
21
51
27
36
-5
17
25
22
-8
-13
6
-8
-21
-6
-9
-11
-34
-57
-53
-34
27
9
9
1
28
7
5
-44
55
-58
29
-24
113
40
35
-180
-26
-23
-8
-4
-45
-44
-36
-74
-12
-26
-11
-60
67
-32
-52
-86
-60
-31
-29
22
28
27
24
29
20
4
-12
16
5
-3
70
63
-19
-9
-30
19
-39
-49
-133
-144
-27
-1
-14
9
-7
22
96
25
18
6
-13
58
21
15
34
192
-179
-1
0
18
19
16
39
136
-34
110
158
125
165
-113
14
163
-1
11
2
25
-2
23
110
13
71
107
-4
99
123
36
171
178
-199
12
-1
54
7986
2972
1727
-1
-1001
-126
-4
6
3
4
4
0
3
4
5
-308
24
227
335
19
172
19
9
76
60
15
15
0
60
152
3
16
0
10
0
-1
0
11
0
-1
17
-3
-3
-2
-1
3
-1
-3
6
6
-4
-3
-3
5
-5
-4
10
16
0
-1
10
6
-6
-2
10
6
8
6
7
4
6
4
2
2
1
3
1
2
-1
-2
0
0
2
5
-3
-1
-2
-1
15
7
10
8
12
5
8
5
8
6
0
2
3
0
2
3
4
0
3
1
0
-1
2
1
-2
0
1
1
5
6
2
-2
3
6
0
0
7
3
2
0
9
3
9
12
5
2
6
10
2
4
4
8
7
7
5
7
3
3
2
7
3
1
1
4
31
-1
5
9
14
-1
0
7
0
8
-1
0
-2
8
0
0
8
2
-1
-2
0
0
0
0
7
8
0
-2
-1
12
-2
0
7
9
-1
0
36
0
-6
0
7
3
6
4
5
2
4
2
1
3
1
1
3
4
0
1
3
2
0
1
1
0
-1
0
8
0
8
7
-2
-1
0
4
0
0
0
0
0
0
0
0
3
1
6
0
6
4
0
1
9
1
1
0
5
0
1
0
8
0
0
0
4
2
-3
0
8
4
9
12
7
4
7
11
2
0
5
8
0
2
6
8
6
6
6
8
4
5
4
7
7
0
0
8
5
-1
-1
8
13
21
11
6
21
19
1
4
3
7
8
13
14
5
10
2
9
13
6
6
12
10
0
4
11
1
6
8
4
1
6
0
20
13
18
12
16
10
12
7
22
16
17
15
16
13
12
12
12
9
10
12
8
5
6
6
9
4
2
3
4
1
-1
6
2
7
20
12
8
8
13
5
9
3
2
21
10
5
1
7
5
4
9
7
7
2
2
4
7
4
5
6
2
1
7
5
15
8
18
20
16
7
12
15
6
8
27
20
7
0
18
20
18
9
15
18
7
5
10
11
9
3
5
4
6
8
3
8
0
0
0
2
22
46
192
1
0
12
17
39
69
121
174
0
221
-25
-10
13
-5
-1
4
-3
8
-9
-34
60
-21
41
-13
12
9
-9
127
-18
-32
53
-19
14
10
-9
-34
42
-47
-8
-25
16
6
-12
-30
13
-64
2
-16
5
17
-11
-33
6
-30
-5
-4
10
36
-5
-17
-17
-13
-16
-8
-14
-2
-8
3
-1
9
182
15
-1
19
23
25
58
63
143
123
193
73
179
193
223
94
133
96
121
72
104
99
116
68
110
94
126
50
78
80
90
51
73
50
74
49
68
45
63
106
5
10
4
0
-3
3
5
10
21
35
29
38
39
-3
-1
-1
1
-25
-42
53
23
20
3
0
11
0
-3
-11
28
-5
0
22
5
24
0
2
1
0
28
12
23
45
18
26
20
27
-1
3
-2
-1
11
-3
-3
-10
-1
2
-9
-4
-1
-2
-27
-8
0
0
0
0
0
0
0
0
47
22
23
16
21
21
18
10
9
2
6
3
3
-9
6
0
2
-1
2
3
4
6
-3
7
0
0
0
0
69
-15
24
-1
3
23
32
5
-31
12
12
40
18
28
28
47
1
12
25
21
2
0
5
-8
-5
0
7
14
-13
-16
-7
20
-53
-51
-57
-41
3
-16
-15
-16
-5
-6
-9
-10
-17
-10
-9
-5
15
-12
-9
-4
10
-11
1
-5
-1
6
18
17
4
2
1
14
-96
-226
3
-87
45
24
4
37
-1
-10
32
40
-9
25
30
14
5
-12
17
24
-30
19
14
8
9
-13
6
-35
-34
2
6
-10
203
71
23
19
1
13
10
-22
15
3
-4
7
10
-4
6
19
1
17
17
16
37
-6
-4
18
-70
-4
-22
1
3
28
1
1
-307
240
80
63
51
69
42
78
24
15
19
25
2
10
3
-10
15
0
1
5
21
9
4
5
-20
-3
1
-2
3
-25
-6
-11
6
-13
55
12
14
-31
-29
-36
39
-4
-11
3
16
-12
5
16
22
-2
15
19
-11
0
-18
14
-15
6
-1
2
-3
23
-11
-6
-10
-6
16
24
4
20
52
-13
1
17
49
19
6
25
35
40
3
12
25
21
8
-8
10
-6
-16
5
4
15
10
-1
-2
0
10
-2
-8
-4
-12
-14
-9
7
3
-4
-5
-1
7
0
1
-7
22
3
-3
-1
7
7
-1
1
53
-2
-2
-6
-12
-2
0
-3
573
281
15
177
-82
97
42
40
24
13
32
32
-71
3
12
36
-19
15
26
29
27
12
12
31
7
-3
0
12
8
-5
-6
-12
-227
-11
-11
-64
31
33
29
7
-21
13
-2
5
8
19
10
6
19
26
25
28
-18
33
45
30
-1
5
-4
-4
-6
-9
4
-9
-257
214
183
201
55
26
84
38
-34
4
31
29
-11
-7
4
-5
-27
22
15
13
10
0
5
25
1
8
-9
3
-4
4
-20
1
173
-121
-73
-117
44
34
7
-5
-14
7
7
10
-11
20
19
19
11
22
21
37
-8
35
39
25
11
7
2
-9
-41
-5
-4
-13
-24
0
0
0
29
16
39
29
13
21
21
39
10
11
29
17
22
16
0
13
-13
-4
-21
-23
12
-6
-32
-9
0
0
0
0
-44
0
0
0
38
66
37
49
60
55
28
11
52
43
8
9
22
13
-5
-15
13
-9
-17
-4
-15
-3
-4
-12
0
0
0
0
0
0
0
0
-2
35
61
57
11
39
44
59
21
30
29
7
23
22
-14
2
-13
-3
-18
-48
16
-30
-59
-76
0
0
0
0
0
0
0
0
29
7
-47
-44
33
24
0
-24
37
22
1
10
29
21
8
-12
26
24
-4
21
9
31
-17
15
0
0
0
0
3
5
5
6
26
101
102
79
61
10
5
-9
42
21
26
2
23
-9
-9
2
-3
-6
-12
-7
-14
-9
-10
6
5
5
5
5
10
9
10
10
16
28
16
22
116
100
116
94
44
49
47
43
33
47
31
24
6
24
18
22
5
5
19
-5
10
10
10
10
-100
8
-31
-12
-22
-1
-9
-1
-13
-17
-8
-10
0
-36
5
-31
6
-25
-97
73
538
-90
-58
76
-40
-49
37
-26
-30
22
-230
111
4
9
8
5
31
23
-4
43
34
-20
87
211
-88
38
35
34
25
16
14
14
17
0
1
0
0
0
0
1
0
94
61
33
16
16
33
61
94
46
45
30
22
22
30
45
46
16
18
21
19
19
21
18
16
7
10
7
25
25
7
10
7
8
4
15
27
27
15
4
8
20
11
22
40
40
22
11
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
-27
-69
-69
-27
3
-31
21
-491
313
-273
-273
313
-491
21
-2
-13
-39
-14
-14
-39
-13
-2
18
13
-6
2
2
-6
13
18
10
0
13
13
13
13
0
10
18
8
15
33
33
15
8
18
0
0
0
0
0
0
0
0
11
19
22
10
10
22
19
11
-104
-107
-63
-63
-63
-63
-107
-104
-55
-53
-35
-37
-37
-35
-53
-55
-18
-13
-6
-4
-4
-6
-13
-18
-3
19
27
26
26
27
19
-3
17
45
22
30
30
22
45
17
16
36
26
27
27
26
36
16
11
19
22
10
10
22
19
11
6
15
23
32
32
23
15
6
68
54
-5
314
314
-5
54
68
283
223
-24
53
53
-24
223
283
-49
-31
39
4
4
39
-31
-49
-43
-19
30
34
34
30
-19
-43
1
15
7
29
29
7
15
1
1
18
15
37
37
15
18
1
6
15
24
32
32
24
15
6
7
8
0
7
7
0
8
7
-17
-13
-20
7
7
-20
-13
-17
-16
-24
-15
18
18
-15
-24
-16
-3
-7
-29
7
7
-29
-7
-3
-3
2
10
15
15
10
2
-3
16
21
5
7
7
5
21
16
6
25
-6
-1
-1
-6
25
6
4
8
0
7
7
0
8
4
23
27
31
43
43
31
27
23
626
147
8
-27
-27
8
147
626
57
71
54
35
35
54
71
57
35
35
39
14
14
39
35
35
26
35
9
16
16
9
35
26
8
22
17
15
15
17
22
8
21
12
36
49
49
36
12
21
23
27
31
42
42
31
27
23
3
0
0
17
17
0
0
3
287
28
-65
3
3
-65
28
287
217
34
150
-441
-441
150
34
217
52
-18
12
3
3
12
-18
52
9
-14
-1
16
16
-1
-14
9
7
0
3
17
17
3
0
7
7
4
-2
20
20
-2
4
7
3
0
-1
17
17
-1
0
3
16
11
18
25
25
18
11
16
4
7
-5068
-2
-2
-5068
7
4
132
35
-136
379
379
-136
35
132
72
54
63
4
4
63
54
72
23
31
6
-1
-1
6
31
23
-2
8
12
13
13
12
8
-2
-5
1
12
14
14
12
1
-5
16
11
18
25
25
18
11
16
2
0
14
27
27
14
0
2
91
47
61
91
91
61
47
91
19
11
41
71
71
41
11
19
20
33
10
33
33
10
33
20
-13
20
23
38
38
23
20
-13
2
-9
21
-3
-3
21
-9
2
9
-5
30
50
50
30
-5
9
2
0
14
27
27
14
0
2
45
7
13
4
4
13
7
45
-14
-1
-20
-21
-21
-20
-1
-14
8
-40
-10
-23
-23
-10
-40
8
24
-15
-2
-3
-3
-2
-15
24
46
0
0
0
0
0
0
46
40
19
15
43
43
15
19
40
15
28
2
-69
-69
2
28
15
45
7
13
4
4
13
7
45
11
4
18
11
26
23
3
8
955
711
676
525
303
166
440
443
191
316
289
377
180
198
440
440
438
726
398
359
300
328
6
440
-258
207
228
30
439
505
438
440
440
506
439
441
440
441
504
442
444
440
441
439
440
441
447
504
7
770
499
319
156
50
-23
-43
871
919
805
498
347
-47
291
357
800
820
840
860
880
900
44
612
203
-127
17720
-101
119
290
533
-2
-32
10
-10
-1
-1
33
46
45
30
70
36
108
42
90
81
56
46
45
33
19
2
63
57
37
25
43
11
0
1
0
2
2
2
2
2
0
4
3
4
0
2
0
5
0
5
0
0
2
5
2
2
2
3
5
3
5
4
2
5
1
4
1
3
4
3
2
3
4
4
3
0
0
4
5
5
4
3
1
3
0
3
1
3
2
1
-5
3
0
0
0
5
-68
16
220
-1
12
-11
-228
-68
20
-3
-252
-300
-96
-248
-300
4
-192
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-72
60
5
4
1
-6
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
33
-300
-28
189
-276
-300
-24
-184
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
12
-161
300
-20
-220
136
140
4
-24
-300
180
152
-300
-184
84
-172
-212
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-300
114
204
-48
-164
216
117
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-300
2
-4
-8
-8
192
4
300
-300
-300
268
-272
-300
71
-272
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-156
-236
0
0
-1
128
144
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
52
292
-224
-300
-300
-136
-268
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
136
-84
194
-156
-172
116
108
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
232
300
0
4
0
-179
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
-296
-240
-300
-47
-28
-196
-100
-164
-276
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
300
300
19
-72
88
88
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
-152
300
28
-292
-34
104
-140
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-80
268
172
40
-40
41
6
56
300
300
248
128
284
57
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
28
20
-160
-200
-152
132
8
-64
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
108
288
268
200
104
-300
52
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
-252
-232
167
-128
-236
188
12
-172
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
96
-184
0
8
0
0
36
-1
-101
-220
-230
220
-260
-248
-68
-208
-188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-46
4
4
-8
4
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
290
-300
-232
244
-256
-300
74
-220
-240
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
64
-32
-232
-36
-52
-120
-16
8
-276
84
278
-192
-88
-116
-108
-156
-176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
-244
-59
-300
-168
-84
-300
-176
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-284
-128
-132
-139
-148
-300
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
-4
20
-116
-4
0
0
-8
60
0
-16
-52
268
-156
-216
-300
-104
-188
-284
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
159
44
4
-28
-12
12
-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
-144
296
-44
-284
-46
24
-52
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
4
188
300
-300
296
-64
-188
-176
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
-43
300
288
4
4
20
-140
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
-4
232
-16
-1
0
-20
8
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-264
300
300
-156
-15
34
-148
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-240
-192
-20
-256
-136
56
-132
-56
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
160
-12
136
128
128
116
68
20
-300
180
300
-284
132
300
140
96
248
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-228
-120
189
-240
-36
-44
-72
-120
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
208
300
-300
-72
156
-64
4
-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
8
8
-64
300
0
136
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-140
-64
8
8
0
0
-20
-4
-156
204
-300
-212
-168
-300
-220
-236
-256
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
220
176
8
1
4
-76
-32
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-252
176
300
-124
-148
-300
-72
-300
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
235
300
-284
40
17
-300
-76
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
280
16
-56
-300
248
8
-292
-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
48
40
16
-16
-80
-264
-32
-56
280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
300
141
-188
1
0
2
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
292
-1
-16
4
-140
12
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
16
0
0
0
300
0
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
22
160
104
84
280
212
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
6
-4
0
-20
-20
300
-268
300
-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
-8
0
300
0
-244
0
0
0
0
0
0
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
-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
20
-4
0
0
-100
8
300
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-296
300
228
-296
-264
-300
-36
-187
-236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-300
-300
-84
16
-118
10
146
-41
-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
-19
-272
277
-80
-232
-228
300
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
20
-150
232
165
-104
192
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-104
-264
1
25
-8
68
160
0
-300
-300
-88
-86
-212
-300
120
-180
-220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-82
-90
-11
-36
4
107
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
-284
-300
-300
128
-208
-36
188
-212
-164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-168
300
-224
-40
-88
-272
-32
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-98
-220
-152
72
-1
140
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
15
300
-60
-300
36
16
172
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
8
16
300
-20
-300
68
-300
264
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
-300
-300
-300
-296
-300
-300
-76
-216
-300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-300
-40
-300
112
252
54
-119
4
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-236
196
288
-216
-196
-140
-32
-60
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-192
19
-128
-76
-28
-300
108
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-300
-24
-248
284
-60
224
-168
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
-20
-12
1
0
16
-4
-300
-300
-300
7
104
-300
-44
-232
-224
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
300
12
-212
-17
8
8
-172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-300
-300
-300
-212
-288
-300
-192
-140
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
272
175
16
92
-64
-300
-160
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
180
-4
204
300
-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
16
0
-8
0
300
300
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
300
220
-80
52
4
-16
-136
4
-2
300
296
20
300
-300
-172
300
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
300
0
0
300
-62
76
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
300
0
-300
0
0
0
0
0
0
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
28
0
300
-300
-52
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
300
-36
8
300
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-12
-4
-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
-236
0
-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
16
32
4
0
112
0
276
0
0
0
0
0
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
300
104
-204
148
156
-156
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
92
300
-300
-148
-236
28
-38
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
36
-8
300
72
16
4
-4
-24
300
-300
-16
292
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
28
300
300
-296
0
300
-128
-96
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
0
-48
-300
16
-300
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
12
204
-300
-12
300
172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
4
4
240
16
-300
224
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
0
0
16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
0
0
32
0
-268
0
0
0
0
0
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
-16
0
0
16
0
0
0
16
0
16
0
0
-300
0
-156
-140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-300
-300
-4
300
-44
0
238
-64
0
-16
-16
0
-16
300
0
20
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
16
0
16
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
0
-16
0
-76
0
4
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
276
0
0
96
0
-268
0
8
0
16
0
300
-268
32
-80
300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-300
0
0
208
32
-108
0
0
0
0
0
0
0
0
0
300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
32
-300
140
0
64
96
-24
-3
0
16
-16
0
0
300
300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
0
16
-32
300
0
300
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-300
0
12
0
0
0
0
0
0
0
0
0
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
-16
0
-16
0
0
0
204
0
0
0
300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
0
0
-300
0
140
0
-13
21
42
-21
-101
-3
6
22
54
25
-1
1
26
59
59
70
80
98
63
72
74
55
75
29
42
61
49
62
-3
51
39
57
70
66
69
72
69
48
47
-7
-1
180
54
126
94
132
56
60
72
36
45
46
69
118
113
67
-55
-7
17
-10
31
12
4
7
48
2
5
37
45
-6
-3
40
51
-17
-6
49
62
-6
0
-1
-28
25
22
-1
-4
18
8
-5
8
14
17
5
18
4
19
9
20
-11
3
13
15
-11
6
-7
6
26
37
-5
8
19
26
5
12
11
19
1
7
5
22
-10
-4
-13
1
-15
-17
-24
-17
1
20
24
59
6
15
2
35
9
15
15
30
4
9
5
22
-5
-1
-13
1
-35
-31
-24
-15
7
15
7
53
10
15
12
34
8
12
17
27
8
10
14
20
-2
-1
-3
5
-12
-8
-21
-10
11
4
39
63
5
2
20
48
16
10
33
31
8
10
21
16
0
-1
8
9
-15
-13
-14
-7
12
16
16
18
17
15
14
13
6
254
86
256
226
288
256
256
242
256
254
288
242
278
244
184
252
256
288
94
88
254
248
274
276
268
254
268
270
244
256
274
256
264
264
256
256
92
100
250
252
292
292
272
274
270
288
260
226
272
276
266
280
256
256
186
212
270
262
354
320
316
412
272
318
270
10
290
284
256
256
258
258
0
0
0
-11
0
0
-3
-11
-3
-6
0
-3
7
15
59
43
55
55
64
53
66
74
57
60
64
64
59
63
65
58
0
28
23
21
18
25
20
21
21
20
20
15
22
20
24
26
22
-19
-34
7
-8
7
-38
33
45
-6
6
5
13
-7
-9
-27
15
-2
1
-1
-7
4
2
-13
-12
-1
7
-4
0
-1
6
5
-3
-3
2
1
2
0
6
5
-4
7
1
0
-4
5
2
3
-1
4
4
3
-1
-4
0
-4
2
11
4
-3
5
1
4
0
-18
5
62
-21
-10
-16
-9
2
34
-10
17
-50
4
33
12
-12
-28
11
9
6
7
1
-20
-14
-12
5
2
5
-3
0
-13
18
-24
3
5
2
1
-2
11
-3
-9
8
-2
-6
-1
-1
-1
0
-11
8
-1
-1
1
-7
5
-4
-10
28
-10
-14
-20
-6
-5
-10
-47
-23
-68
-6
-33
11
-31
75
58
-7
-32
-9
6
-8
-25
-56
33
-10
-11
0
-12
9
-12
5
5
-7
19
-9
2
2
5
12
6
-2
4
7
1
11
1
5
0
-6
0
0
1
3
-5
3
-4
-4
-8
2
0
-11
0
-15
-7
6
-8
-8
-13
-7
-6
0
-46
-79
15
-18
9
-30
48
-34
-67
-17
-23
33
4
-17
0
-8
-57
40
19
5
17
-3
-18
-20
23
20
15
7
6
9
-16
14
-8
3
5
20
3
-5
3
-18
-6
-8
-6
-2
4
2
-5
3
1
-9
2
7
4
-6
10
0
2
-4
-27
1
-14
3
-16
-4
-41
-13
-9
-10
-1
-5
11
20
38
-8
3
0
7
-7
0
1
31
-4
0
-1
-6
9
11
20
8
-1
-1
1
5
-3
4
8
13
-2
-3
4
-1
-1
0
5
13
0
-1
-1
0
2
8
12
14
-1
-1
-1
1
-1
3
7
7
-1
0
0
-2
1
-1
-5
5
23
3
2
0
4
7
14
9
18
0
-14
18
12
2
22
22
24
-8
-9
13
2
3
15
14
1
12
-7
-4
-7
-2
9
-2
-4
2
-2
2
-7
2
-5
-2
0
2
-2
-5
-5
-1
-3
3
-4
5
-10
-8
-4
-12
-16
-9
-3
4
-3
-5
-5
1
-6
-3
23
9
16
3
-4
-1
4
13
19
13
13
0
-1
8
15
18
3
13
6
-19
2
1
11
10
8
6
3
-14
2
9
8
21
10
-5
3
-1
1
1
4
6
-4
0
4
-7
-3
0
6
8
-2
-4
1
-1
-5
3
4
6
-5
1
-2
-1
-1
2
4
-2
4
-7
1
-1
-1
-7
14
-7
27
-4
15
8
3
-3
7
-1
9
-5
3
0
4
0
2
0
3
8
-3
5
6
5
0
-6
5
10
-3
-4
11
10
9
-4
5
9
3
3
5
1
5
5
1
9
6
-3
-3
-10
-8
-5
1
3
-7
-2
-5
-6
-9
-3
-6
-16
17
-9
13
-37
37
30
5
8
4
1
-3
-8
-44
3
-8
1
-7
0
1
10
8
4
5
-4
-3
-2
0
10
-1
-1
-1
3
-1
3
1
0
1
1
-2
3
5
-1
-2
0
-3
4
-9
-2
4
0
0
-4
0
5
-1
4
2
3
0
-2
-6
1
2
9
11
6
-13
3
4
-4
-19
16
8
5
14
-22
15
0
-6
22
-7
-1
-11
-4
-13
-15
10
-6
2
2
0
-1
-1
-7
-2
1
1
-5
7
3
-6
-2
-8
-10
5
-4
-4
-1
2
-6
-14
-3
-3
2
-2
-6
6
-2
-28
-12
-5
-15
-11
-2
-15
-5
-31
11
25
-7
-5
-36
42
-8
-9
5
15
-3
-2
-6
-26
9
-15
-3
-9
0
5
1
9
5
7
3
-1
3
0
7
5
2
-7
8
-1
6
4
4
0
-1
-13
1
7
-5
-3
0
-3
-10
-15
-9
-3
2
-2
-6
-7
-12
-28
-21
1
-8
2
2
4
-29
4
-1
10
2
-4
-1
-34
-32
-50
4
-12
0
0
-3
-4
5
-4
4
3
14
6
5
-9
-24
20
-2
11
13
14
3
6
1
-5
-3
-5
6
17
10
-2
-5
-10
7
18
1
8
12
5
-15
-43
-18
-15
13
-5
1
1
-6
-48
-39
-3
-13
5
-5
-10
-13
-14
-3
7
2
4
3
1
19
-6
-4
5
13
2
14
20
27
3
-1
3
11
3
6
-6
0
1
5
4
3
8
-5
-2
5
1
2
4
3
1
-2
1
6
1
1
1
-1
0
0
6
4
1
1
-1
0
-1
1
3
12
1
1
3
0
0
-10
-11
-5
-4
-1
41
4
10
13
11
48
5
-30
6
16
5
-16
8
16
7
16
3
13
2
0
-12
3
-4
6
-4
-4
-18
-16
-13
-5
7
5
9
12
-1
-8
-10
-18
6
3
0
-6
0
5
2
-1
10
1
1
-4
2
-1
-9
-16
13
7
-5
-3
-1
-6
-20
-4
23
0
-22
12
-4
12
12
20
11
9
5
-3
15
27
-2
20
13
-3
12
6
13
6
18
16
-6
6
-10
-6
21
-4
12
10
-4
-4
0
12
16
5
4
7
-4
-9
-4
1
-2
-9
2
4
-6
-11
-5
0
-1
1
10
30
-25
-14
-11
-8
-1
-10
3
11
-1
-26
10
9
-1
11
-17
15
25
28
23
24
2
14
-5
8
-1
-3
15
0
-8
1
3
7
5
42
13
11
-5
-3
12
3
2
-9
7
13
9
-3
1
5
0
1
7
2
-3
2
9
-8
14
3
3
0
-3
-3
4
1
-7
-8
-7
-17
-11
4
-1
0
0
0
0
0
0
0
0
0
20
15
0
3
8
-18
-42
-38
5
3
0
3
2
12
-3
1
2
5
-4
2
-4
5
0
0
-2
5
-2
-4
-4
-2
8
-4
-1
-3
-3
-6
-6
1
-1
1
-2
1
-2
-4
-2
-2
1
4
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
-27
-16
2
-14
-2
-8
11
36
4
-10
20
-2
-6
0
-6
3
3
2
3
-5
-8
3
-3
-8
-1
4
-8
2
-1
2
0
-4
-5
-16
-3
-4
0
9
1
4
-6
-10
-1
-9
3
6
1
7
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
52
21
8
-13
-11
-62
-26
-29
-12
-4
-12
-12
0
9
9
6
-12
-2
-4
0
-4
7
2
8
-5
0
-2
-2
0
-4
4
0
5
3
-1
-10
-6
-1
-8
-8
10
5
-1
1
-3
-7
-17
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
19
35
15
-103
3
31
33
24
-7
17
29
-10
-9
-3
-6
10
-2
0
4
-3
-9
1
-4
-1
-7
0
1
4
-6
-4
-2
-5
-6
-2
1
-9
-3
3
0
-7
-1
1
5
19
-3
-1
-12
-2
0
0
0
0
0
0
0
2
33
21
-4
-8
-1
12
-30
-48
1
-7
3
-2
1
-5
-23
-15
-3
-6
-4
-2
-5
12
-4
-3
-2
-5
-4
1
-4
5
-2
-4
0
-2
-2
-5
4
3
2
-3
-2
1
3
-1
-2
2
0
0
-13
-8
-3
-3
-2
7
4
0
7
-1
-4
-15
-2
-3
11
14
-28
-63
-26
-17
-3
2
22
24
-15
-35
9
-16
-8
-9
11
11
-23
-26
-8
-11
-9
2
6
5
-8
-10
-8
-10
0
-1
-7
5
-6
-7
0
-5
1
-4
3
4
-4
1
2
-1
4
4
5
17
-19
-1
-2
2
0
6
9
12
-7
14
8
7
-5
11
-3
33
22
33
-11
-3
-10
-4
-53
-64
11
6
1
-3
0
-8
-19
-26
-1
0
-1
2
-9
7
-15
-14
9
-6
0
-2
0
4
-12
-17
2
-1
-3
3
-5
-1
1
-2
14
4
8
6
3
7
-1
0
-9
9
9
7
8
6
5
-4
12
22
11
13
11
3
8
8
-25
-26
-6
-7
18
-9
38
37
8
-9
-9
3
11
-1
0
29
-26
-7
0
-9
-10
1
4
-4
-1
-9
-3
-7
-6
-1
-6
-1
-2
0
-5
-6
3
-1
11
-7
4
9
6
3
3
8
6
6
-1
11
9
9
2
5
8
-2
19
34
20
13
8
11
4
34
-5
-3
-2
-4
1
6
4
-9
-2
-2
-2
-4
-1
-1
3
-12
-2
-3
-2
-1
-3
-5
-8
-9
1
0
0
-2
-6
-3
-9
-13
6
5
3
5
-3
-3
-2
-16
4
3
4
4
-2
-9
-13
-17
2
4
7
2
-2
-8
-9
-7
10
2
7
7
-1
-1
-1
-23
-7
-4
0
2
5
8
12
2
-15
-9
5
-8
-5
0
-3
-11
-13
-2
-2
-2
5
2
-7
-8
-1
-10
1
3
9
9
-1
2
1
-5
-4
-3
9
7
8
4
4
-4
-2
3
10
5
2
-3
4
-2
3
6
6
11
10
13
9
0
0
5
8
2
9
3
-16
-11
-12
-1
-3
5
0
-7
-17
-12
-9
1
-5
-8
-12
-18
-9
-14
-5
4
-1
4
-6
-8
-5
-3
1
11
-2
-1
-13
-17
1
4
1
5
-1
-3
-7
-11
6
3
2
8
1
-3
-17
-13
7
7
4
8
3
-4
-8
-8
12
2
1
1
-1
-10
-9
-2
-1
7
1
3
2
10
3
-4
-15
-3
-1
-2
-1
-1
-3
-6
-12
-2
1
8
3
0
-2
0
-1
-8
1
-2
1
3
2
3
-5
-6
-3
-2
1
2
6
7
-3
-7
-8
1
-2
3
-1
0
3
-6
-11
-3
3
4
4
6
-1
-5
-9
-6
1
2
6
5
8
3
-1
3
-3
13
-9
-17
1
-4
-3
-3
-1
1
3
-5
-1
-4
-1
-5
2
5
2
0
-3
0
-2
1
0
0
-2
-1
2
-1
2
-1
0
-2
-3
-6
0
-1
2
1
4
-1
-2
0
7
-2
-2
-3
1
-1
-2
-10
0
-5
-8
-3
2
5
-4
-1
-5
-10
-8
-4
2
3
4
9
-2
-15
-4
-5
-3
9
6
12
1
-8
5
6
5
2
7
10
-1
1
-1
-1
-1
1
2
0
2
-1
-3
2
-1
-3
0
1
7
0
-3
-2
2
3
4
5
14
4
1
-2
0
5
5
2
24
7
2
8
6
-1
9
15
9
0
-11
0
3
-2
-6
-8
9
6
2
2
-2
-3
-9
-7
7
0
5
2
1
4
-4
0
-1
2
3
0
1
-2
-9
-4
10
4
3
-1
-3
0
-2
3
11
10
3
4
5
-2
0
-1
12
14
7
2
2
4
6
11
10
11
5
8
3
-6
9
9
-8
-7
-2
-2
2
5
10
10
12
-4
-3
-4
3
4
3
7
7
-2
2
7
-1
-3
3
10
-1
4
0
-3
-11
-6
-4
-2
11
4
1
-5
-14
-5
-4
8
5
0
0
-1
-7
-8
-6
9
13
12
10
-3
4
3
6
22
32
22
6
8
5
6
13
23
-9
-10
-21
-10
-2
14
1
-7
-1
-3
-16
-22
3
9
-3
-9
3
-8
-13
-15
12
11
29
-1
-5
-9
-9
0
-7
16
7
-7
-3
-7
-8
2
-1
5
6
6
-4
-5
-4
-2
0
-1
-8
1
6
4
3
-2
-2
-12
-18
-22
-1
4
6
8
-6
-7
-24
-1
-20
-16
-20
-14
-12
-13
-10
-44
-23
-17
9
-17
-21
-6
-18
-24
-14
-20
0
-9
-6
-2
1
13
-7
-9
-6
8
18
8
18
17
-2
-9
-12
-12
-5
5
14
31
14
-4
-7
0
1
-2
-16
-6
10
11
-6
0
0
9
-9
-20
12
0
4
-6
-1
12
21
0
-42
-14
-2
-9
6
-13
-25
-32
-23
-20
-10
-7
-2
-10
-6
-28
-11
2
-16
9
-1
5
-12
-6
1
-3
23
10
-10
1
-12
-20
9
7
16
7
-5
5
1
4
-12
8
12
8
7
11
3
17
-38
-3
2
12
-4
-7
-14
-8
-16
-2
-4
3
1
3
-12
-6
-25
-23
17
5
-6
-23
0
-34
-24
-30
-14
-28
2
-41
-14
-27
44
-5
6
18
15
-11
-20
-3
9
-7
-10
9
-2
-5
-13
0
8
9
9
1
-3
-3
-6
-9
22
3
-5
3
0
2
-10
43
-7
-13
1
-4
-1
19
2
2
-6
-14
-8
18
39
14
14
-2
0
0
0
0
0
0
0
1
-9
-7
4
-9
-6
-20
-18
-7
-2
-1
-2
-3
1
-5
-5
-6
-1
-2
0
-7
0
-2
0
0
3
-4
-5
0
1
3
-1
1
-1
0
-3
0
5
5
3
2
4
0
-3
3
4
6
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-16
-2
22
10
7
-13
-4
-1
-7
6
13
15
13
9
-8
-8
-8
2
5
3
9
13
-1
-5
-2
-3
-2
0
4
6
0
2
-1
-5
-1
-4
0
1
7
2
0
5
-4
-2
1
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
-9
-3
9
13
19
9
-1
-5
15
14
13
8
12
-5
-6
-11
17
11
5
0
2
-9
-8
-9
10
7
2
3
-3
-4
-7
-5
1
4
4
3
0
-4
0
2
-1
5
7
8
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-16
-16
11
-5
-4
-6
-13
-6
-8
-10
1
2
-1
-5
-15
-2
0
-4
4
1
-4
-2
-2
5
7
1
2
0
-1
-2
0
6
7
4
2
-1
-5
-4
0
4
2
4
-7
-5
-3
-1
-2
-1
0
0
0
0
0
0
0
1
0
128
128
128
128
128
128
128
128
384
192
128
128
128
128
128
280
256
256
256
256
256
256
256
256
256
256
256
256
256
256
9
7
3
2
10
5
5
4
4
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
-21
-15
-11
-9
-8
-7
-7
-5
-5
-72
-42
-34
-29
-25
-24
-22
-24
-23
-11
-12
-18
-11
-7
-1
5
12
20
-95
-54
-57
-33
-21
3
14
21
24
-9
-8
-3
-1
0
2
4
5
4
4
3
5
0
11
19
-22
-28
-22
-16
-9
-3
-1
1
3
3
3
3
4
-1
15
4
-2
-10
-5
-5
0
2
4
5
6
7
12
8
11
8
-23
-21
-34
-21
-14
-5
1
4
8
11
14
15
24
24
14
-51
0
0
0
0
0
0
0
0
-26
0
0
56
9
0
0
0
0
-10
0
0
-7
0
0
-3
-1
8
-85
0
0
0
0
0
0
0
0
-38
0
0
-140
-172
0
0
0
0
-15
0
0
-4
4
0
1
5
8
-44
0
0
0
0
0
0
0
0
-23
0
0
-19
-16
0
0
0
0
-11
0
0
-8
-1
0
-6
1
7
61
0
0
0
0
0
0
0
0
399
0
0
236
-36
0
0
0
0
16
0
0
41
-122
0
129
75
23
-70
0
0
0
0
0
0
0
0
-36
0
0
-154
-57
0
0
0
0
-12
0
0
-23
8
0
-7
10
14
-318
0
0
0
0
0
0
0
0
-62
0
0
111
122
0
0
0
0
-28
0
0
-33
-1
0
-22
-4
10
-65
0
0
0
0
0
0
0
0
-75
0
0
-75
-15
0
0
0
0
-19
0
0
-13
7
0
8
12
24
302
0
0
0
0
0
0
0
0
381
0
0
-182
-60
0
0
0
0
-3
0
0
11
78
0
65
6
28
-35
0
0
0
0
0
0
0
0
-17
0
0
-6
-18
0
0
0
0
1
0
0
0
5
0
-7
-1
6
-182
0
0
0
0
0
0
0
0
-43
0
0
-373
-96
0
0
0
0
-8
0
0
-3
-1
0
1
0
4
-32
0
0
0
0
0
0
0
0
-13
0
0
-27
-9
0
0
0
0
-2
0
0
2
2
0
0
6
6
0
0
0
0
0
0
0
0
0
-17
0
0
-23
-116
0
0
0
0
5
0
0
57
-33
0
193
4
-13
-104
0
0
0
0
0
0
0
0
-57
0
0
-40
-36
0
0
0
0
-7
0
0
-6
3
0
1
6
9
-99
0
0
0
0
0
0
0
0
-81
0
0
461
-38
0
0
0
0
-28
0
0
-15
-13
0
1
-1
1
-55
0
0
0
0
0
0
0
0
-76
0
0
-13
-26
0
0
0
0
-11
0
0
-3
2
0
29
8
13
-122
0
0
0
0
0
0
0
0
-59
0
0
-47
-36
0
0
0
0
-6
0
0
7
8
0
-86
17
19
0
3
6
9
12
15
18
21
24
0
14
28
42
56
70
84
98
112
0
0
0
0
0
0
0
0
0
0
11
22
33
44
55
66
77
88
0
1
2
3
4
5
6
7
8
0
0
0
0
0
0
0
0
0
0
4
8
12
16
20
24
28
32
0
3
6
9
12
15
18
21
24
-19
-16
-13
-10
-9
-4
-1
2
3
4
5
8
7
12
9
-40
-32
-24
-20
-12
-8
-4
0
6
14
18
22
26
26
28
2
0
2
2
2
0
0
0
0
0
0
0
0
0
0
-12
-2
-16
-14
-4
2
4
2
0
0
0
-2
0
0
0
2
4
0
-2
0
0
0
0
0
0
0
0
-2
-2
-2
-2
-2
-4
-4
-2
-6
-6
-6
-4
-6
-14
-14
-24
0
-123
-112
-97
-86
-87
-76
-65
-54
-45
-32
-23
-14
-1
8
17
24
33
42
49
54
63
66
73
74
81
90
97
114
135
2
-56
-16
-10
-6
-2
0
0
0
0
-2
0
0
0
0
0
0
2
-2
0
6
6
4
10
0
-2
-4
-12
0
-6
-98
-76
-56
-32
-28
-24
-14
-8
-8
2
0
0
2
2
4
2
2
4
0
-6
-6
-8
-14
-10
-12
-18
-8
0
1
2
300
4
8
7
13
33
7
20
10
25
-34
-3
4
2
-3
2
2
2
2
2
0
25
42
4
12
16
8
15
40
120
30
250
10
80
20
100
15
50
100
-300
1000
250
255
5
5
5
5
0
0
1
0
0
1
20
30
15
21
18
18
