0
3
3
3
3
5
3
3
3
1
2
1
2
1
0
1
3
3
0
1
1
1
2
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
2
1
1
0
1
1
1
1
1
1
1
2
0
1
1
3
0
1
2
0
0
0
1
1
1
1
1
1
2
0
0
2
0
1
0
1
0
3
2
0
0
1
1
1
0
1
2
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
3
0
0
0
2
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
2
1
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
3
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
2
1
0
0
0
0
2
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
3
0
0
0
0
2
1
0
0
0
2
2
0
0
1
1
1
0
2
1
0
0
0
0
1
0
1
0
1
2
2
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
4
2
2
0
0
0
1
1
0
0
1
0
1
1
0
0
3
1
4
1
0
2
0
0
0
0
1
1
1
0
0
0
2
0
3
2
1
0
1
1
1
0
0
0
2
0
1
2
0
0
0
0
0
0
1
2
4
0
0
0
0
0
1
3
3
3
0
2
1
2
5
0
2
0
0
2
1
1
1
0
1
1
1
3
0
0
2
1
0
0
1
0
0
3
3
2
2
4
2
2
1
1
0
1
2
0
4
1
2
2
2
1
1
1
0
3
5
1
1
0
2
1
2
0
4
3
1
7
1
2
1
5
3
0
4
2
3
1
2
3
2
6
4
2
2
5
4
8
2
2
5
4
1
5
3
5
8
6
3
4
1
4
9
3
6
1
6
1
8
5
5
8
5
7
10
7
14
8
2
8
7
5
6
6
11
8
4
11
10
14
9
12
11
8
11
14
14
23
15
9
8
6
8
14
10
17
14
20
14
15
18
17
13
20
21
13
21
35
15
27
30
22
17
19
28
30
37
26
34
33
30
39
42
48
34
39
47
49
53
44
61
59
57
60
57
60
56
61
68
83
79
93
62
78
95
92
88
99
85
84
105
112
89
93
94
106
113
103
93
94
122
103
107
96
94
129
110
122
105
92
114
120
96
108
111
101
125
104
97
115
96
97
108
91
99
92
105
69
73
67
63
66
71
61
55
43
54
36
47
43
44
28
35
31
29
30
15
22
14
20
9
11
15
10
9
10
6
4
4
7
4
4
5
4
0
2
0
2
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
3
1
0
0
0
1
1
3
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
3
0
1
2
1
0
3
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
2
1
0
0
0
0
2
0
1
2
2
1
0
3
2
1
0
1
1
2
1
0
1
1
0
0
4
1
2
2
3
2
3
1
1
1
1
3
1
2
1
0
0
0
1
1
2
2
1
0
0
3
1
0
0
1
2
1
1
2
0
0
2
3
1
2
4
5
1
2
5
2
4
3
2
0
2
2
0
1
4
6
0
4
4
2
2
3
2
2
2
2
1
1
3
4
3
5
3
2
6
2
4
4
1
6
2
4
3
9
6
5
1
4
5
4
4
5
2
7
12
6
8
6
3
7
6
3
7
6
2
7
12
14
9
14
17
12
8
12
14
25
13
15
16
16
11
18
17
15
24
28
16
26
25
24
30
20
31
25
30
26
23
32
32
30
30
30
34
31
36
30
31
49
32
40
29
34
34
30
35
40
39
41
43
33
43
31
34
51
39
52
40
26
37
41
25
49
32
27
32
34
39
31
39
32
30
31
32
27
26
20
22
23
27
14
21
18
15
14
14
8
12
20
18
6
8
8
18
7
6
5
8
8
5
5
3
4
3
7
6
8
4
0
3
6
5
2
3
2
5
4
4
4
4
9
6
2
1
4
1
3
3
4
3
5
2
2
5
3
2
3
9
6
6
5
7
4
6
3
2
5
6
3
5
2
4
6
4
4
6
8
7
8
6
4
4
6
5
7
8
6
3
14
11
7
14
5
10
12
9
11
13
13
11
9
18
13
23
15
17
20
15
12
11
19
22
18
10
16
16
22
25
31
22
31
16
19
30
26
23
21
26
23
25
30
34
24
18
32
24
29
28
25
26
15
19
20
31
29
23
30
36
38
29
40
37
28
21
32
36
34
22
16
35
30
24
34
28
31
31
20
21
27
38
29
26
30
30
25
31
30
37
26
34
34
29
54
46
38
35
32
59
41
65
46
43
53
67
70
73
75
72
68
75
83
83
84
80
99
102
103
88
104
101
102
118
110
124
131
126
139
123
133
137
128
143
142
143
133
148
160
154
159
152
142
151
148
165
166
159
162
156
173
154
143
150
153
153
170
144
172
139
153
148
126
132
114
148
139
124
109
113
99
101
86
86
75
76
77
66
55
53
56
61
51
34
44
36
35
31
35
31
19
18
21
23
10
17
16
12
10
10
6
6
4
9
3
10
3
2
1
5
1
2
3
0
3
0
3
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
2
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
2
2
1
0
1
1
1
1
0
0
1
0
0
0
2
0
0
2
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
2
4
0
0
0
0
0
0
1
0
0
0
0
0
3
1
2
1
0
1
0
0
0
1
0
0
0
0
1
0
1
2
2
0
1
0
0
0
0
1
1
0
1
2
2
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
3
2
1
1
1
3
0
0
1
0
1
0
1
1
1
0
0
2
2
0
1
2
0
2
1
2
0
1
0
1
0
1
1
1
0
0
0
1
0
1
2
0
1
0
1
0
0
0
2
1
0
0
0
0
1
2
1
2
0
1
3
1
3
1
2
1
0
0
1
1
1
0
0
0
1
2
0
0
0
2
1
2
1
1
2
0
1
2
2
1
1
3
1
2
2
5
2
1
0
3
2
4
1
2
3
1
1
1
2
3
4
1
4
3
1
1
3
0
1
2
6
2
2
1
1
2
2
0
3
3
1
0
2
4
4
0
1
3
2
1
1
1
1
0
0
1
0
0
2
0
0
1
0
0
0
2
1
0
0
0
0
0
3
0
0
0
0
2
1
1
0
0
0
2
2
2
0
0
0
0
1
3
0
1
0
1
2
1
2
2
0
1
1
1
1
2
2
0
0
0
1
3
1
2
2
0
0
0
0
0
2
0
2
0
1
1
0
0
4
2
1
2
2
1
0
3
3
2
1
1
1
0
3
1
2
2
2
1
4
0
5
2
1
1
4
1
3
0
0
1
3
1
1
3
3
1
0
1
2
0
4
2
1
0
0
3
0
3
5
2
1
2
2
2
1
4
5
1
1
0
3
2
4
1
3
1
2
0
3
3
1
2
1
10
6
4
2
2
1
5
3
3
4
1
2
2
3
6
5
2
2
3
3
4
3
6
3
4
3
6
6
5
4
2
3
4
2
3
4
3
4
5
4
4
4
4
6
2
6
1
7
5
3
10
5
6
7
2
8
6
2
8
5
6
7
7
4
6
7
3
10
7
4
13
13
5
11
2
14
1
6
6
5
8
7
8
3
4
6
13
10
7
11
10
6
7
8
4
15
9
12
13
5
12
6
8
6
17
5
10
11
8
6
9
9
16
10
16
11
12
13
7
9
12
13
15
11
14
17
10
5
10
5
12
10
7
12
8
15
14
9
7
4
11
7
8
11
7
10
4
12
5
10
3
3
11
7
10
9
7
4
13
8
4
4
9
9
5
10
8
11
8
5
5
6
9
10
13
11
11
5
6
9
10
15
10
8
16
8
14
5
9
10
12
10
8
12
10
5
7
4
8
8
8
7
11
16
9
10
11
17
14
12
5
18
4
10
9
7
18
9
18
7
9
9
8
9
16
12
11
13
12
13
13
12
11
14
9
17
14
15
19
16
12
29
15
19
17
15
17
16
14
19
11
17
15
10
15
20
23
14
26
10
19
19
22
15
16
18
19
24
17
24
17
19
18
29
24
20
31
22
26
22
20
21
16
18
21
26
21
25
26
26
31
18
26
29
22
23
17
20
32
26
22
14
29
24
17
27
25
19
19
23
24
25
23
20
21
13
25
21
18
24
34
20
23
32
27
20
31
29
21
28
38
34
27
19
20
33
28
35
23
31
25
23
29
28
30
37
30
39
41
25
41
27
39
41
35
32
44
35
46
47
33
47
42
41
35
34
55
37
35
48
46
42
40
47
50
38
53
48
44
56
54
40
59
44
59
55
42
62
45
57
52
55
42
60
45
57
50
64
59
48
39
55
60
58
65
75
49
75
49
75
60
58
44
60
57
75
65
64
66
55
57
74
69
73
65
93
79
57
81
87
79
63
71
77
92
81
93
79
78
94
84
99
95
73
97
87
109
104
107
105
105
106
104
101
123
101
96
104
101
118
120
123
99
120
124
140
136
116
124
118
129
135
124
132
132
134
148
167
143
158
159
146
165
163
154
165
168
188
173
165
177
180
181
164
190
209
221
212
207
188
200
202
216
214
229
256
240
261
268
233
279
257
247
285
252
292
279
290
261
286
307
304
306
282
338
336
332
316
307
364
312
385
364
358
391
380
432
343
399
421
389
417
388
396
431
422
435
480
435
425
433
466
473
458
480
478
566
521
539
567
573
578
597
597
613
641
591
607
610
673
665
651
706
754
736
755
773
735
802
745
790
904
846
853
938
874
895
1003
884
969
1032
1016
1047
1038
1015
1123
1113
1150
1131
1188
1145
1312
1231
1269
1298
1257
1312
1444
1388
1526
1411
1536
1577
1655
1646
1762
1721
1898
1840
1982
1969
1989
2110
2214
2376
2356
2511
2464
2707
2851
2956
2954
3071
3354
3557
3615
3814
3980
4129
4582
4828
4976
5297
5521
5787
6294
6745
7062
7523
7914
8419
8601
9402
10026
10544
11247
11606
12421
12918
13706
14120
14779
15562
16511
16767
17544
18089
18898
19742
20222
20736
20951
21696
22416
22977
23032
23242
23940
24222
24243
24924
24796
25351
25610
26016
25833
26242
26567
26978
27433
27359
28107
28094
28325
28404
29048
29018
28965
29268
29266
29197
29130
29265
28536
28492
28084
27314
27149
26538
25718
25159
23932
23061
22088
21330
19970
19148
18342
17350
16075
14992
14143
13140
12363
11571
10564
9824
8945
8265
7774
6989
6319
5730
5375
4677
4359
3855
3290
2944
2644
2183
1947
1654
1485
1292
1046
821
735
539
518
389
312
236
194
166
113
94
82
51
52
35
37
18
16
10
8
12
12
7
4
7
9
4
7
6
7
9
8
10
7
8
7
3
6
15
14
18
15
14
14
12
13
17
24
15
26
12
21
19
12
14
22
15
25
23
24
19
35
20
27
34
32
28
30
25
33
34
25
30
29
38
34
35
35
29
27
31
48
34
37
29
35
28
38
33
37
28
32
38
29
28
23
19
15
30
12
14
12
11
15
14
17
10
7
4
7
8
3
1
1
2
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
3
0
3
2
0
0
1
2
1
1
0
0
1
1
0
0
1
1
1
0
1
3
0
1
1
1
2
1
2
1
0
2
1
3
0
1
4
1
1
0
1
3
0
3
3
2
2
1
1
3
4
3
3
2
4
1
4
2
6
4
4
4
4
3
3
4
4
2
3
5
3
7
9
2
4
4
4
4
0
3
4
3
3
7
5
8
9
4
8
4
6
5
2
7
7
4
7
5
2
4
4
7
4
5
3
1
4
2
5
2
2
3
1
1
3
3
2
2
5
3
3
1
1
2
0
1
0
4
2
1
0
0
0
2
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
2
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
2
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
2
1
0
1
1
0
0
1
2
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
2
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
1
0
1
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
2
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
4
0
1
0
1
1
0
1
0
0
1
0
0
0
1
2
0
1
1
0
0
0
0
0
1
0
1
0
2
0
0
0
3
1
0
0
0
2
2
0
1
0
1
1
0
1
0
1
0
0
0
1
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
2
0
1
0
0
0
1
1
0
0
0
2
0
1
0
0
1
0
0
0
0
2
0
1
1
0
0
1
1
3
3
0
2
0
2
0
0
1
0
0
0
1
0
1
1
1
2
3
3
2
1
2
1
4
2
2
3
3
2
3
1
1
1
5
0
2
2
2
1
6
4
2
1
8
3
3
6
1
3
3
4
2
3
4
2
5
6
3
6
5
5
6
3
2
5
3
6
4
3
7
5
4
7
6
5
8
1
6
5
4
3
5
5
4
9
2
3
5
4
7
3
1
2
2
5
6
2
4
2
1
3
2
2
5
0
1
3
2
3
4
2
1
0
2
1
1
0
1
1
1
2
1
1
0
1
2
0
0
0
1
1
0
1
0
0
0
2
0
0
1
2
0
0
0
1
0
2
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
2
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
2
0
2
0
0
0
2
2
2
2
0
0
2
0
4
2
0
1
1
1
2
2
1
2
0
2
0
3
0
5
5
2
1
2
3
1
2
1
1
4
3
3
4
0
2
2
3
2
5
4
2
4
2
4
3
3
4
3
1
4
3
4
8
2
2
2
3
0
4
1
3
4
2
4
3
5
5
2
2
3
5
4
1
2
