3
5
7
4
1
1
7
1
5
6
0
2
1
1
0
4
3
2
5
1
1
2
2
1
1
1
0
0
2
2
0
0
2
2
0
1
1
3
0
2
1
0
1
2
0
2
1
2
2
1
1
2
1
2
0
1
0
1
0
2
4
2
0
2
2
3
1
1
1
1
4
1
3
1
2
0
0
0
1
3
3
1
3
2
1
2
1
1
0
1
0
1
1
1
1
0
1
1
1
2
2
0
0
0
1
0
2
2
0
0
1
2
0
0
0
0
0
1
2
0
2
0
0
1
1
0
3
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
2
0
1
1
0
0
0
1
0
2
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
2
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
2
0
1
0
0
2
1
0
1
1
0
0
0
0
0
1
0
3
0
2
0
0
1
0
1
1
1
0
0
2
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
1
2
2
0
0
0
0
0
1
0
0
3
0
0
0
0
2
1
0
0
0
0
1
1
0
0
0
2
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
2
0
0
0
1
0
0
0
1
0
2
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
2
1
0
1
1
2
0
0
2
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
2
0
0
1
1
0
0
2
2
2
0
0
0
0
1
1
0
1
1
1
0
2
0
1
0
0
0
2
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
2
0
1
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
1
0
2
1
0
0
0
1
0
0
0
0
0
0
2
1
2
1
1
1
0
1
0
1
0
3
1
1
3
1
0
0
0
0
0
1
0
0
0
2
0
1
1
1
2
0
1
1
0
1
1
0
4
0
0
3
0
0
0
0
1
0
0
0
1
0
2
0
0
0
0
2
1
0
0
2
0
0
1
0
2
0
0
1
0
1
2
0
0
2
0
1
2
1
0
2
0
0
0
1
1
1
1
1
0
0
1
0
0
2
1
0
0
1
0
0
0
0
0
2
1
1
0
2
1
1
0
2
1
1
0
2
3
3
1
0
1
1
0
0
0
0
1
0
1
1
0
1
2
2
1
0
0
1
3
1
1
1
0
1
1
1
2
0
1
1
0
2
1
1
1
3
1
0
3
3
2
0
3
2
4
2
3
2
4
3
3
4
3
4
6
1
2
4
3
4
2
1
1
2
3
4
3
4
3
3
2
5
0
1
4
5
2
3
5
6
5
2
6
2
4
7
2
2
1
4
3
2
4
3
6
5
3
3
4
7
5
4
5
8
3
6
6
6
5
3
1
6
8
8
3
2
5
2
2
5
5
2
4
7
5
4
10
9
2
8
6
6
8
12
3
2
5
10
7
6
5
7
9
12
8
11
10
9
13
9
13
9
8
14
9
15
6
5
7
12
6
9
6
14
13
17
9
16
8
16
11
9
15
11
12
17
19
10
7
14
18
16
14
21
16
17
9
20
16
27
20
23
22
27
24
26
25
22
24
28
23
40
35
41
33
37
39
39
46
43
49
50
50
53
64
64
69
77
84
72
53
62
67
78
83
76
89
99
89
99
99
99
89
110
120
95
128
130
126
117
106
107
118
128
124
137
136
116
147
140
147
136
126
110
113
145
114
139
120
137
149
115
135
124
144
128
122
96
113
125
124
116
94
85
110
100
93
59
92
89
68
58
62
67
53
55
39
37
39
46
33
26
22
24
23
21
19
18
12
20
13
11
2
8
6
3
9
1
0
3
3
1
1
0
3
2
0
1
2
1
3
3
0
0
1
0
1
0
3
0
4
3
2
3
1
0
0
2
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
2
1
0
2
1
1
1
1
1
0
2
3
3
1
2
0
1
2
4
2
0
1
3
1
1
4
3
4
1
1
3
2
0
4
4
2
0
4
3
0
2
3
1
3
2
3
1
1
0
3
1
5
4
2
2
2
3
1
4
3
5
3
2
4
0
1
7
0
4
3
0
1
1
2
2
1
1
4
4
3
2
1
3
4
2
2
2
4
2
3
1
0
0
2
1
3
3
4
4
4
3
2
4
5
5
1
4
3
4
2
0
6
2
3
5
6
0
6
1
4
5
2
5
10
3
7
8
6
6
5
7
6
6
9
4
6
7
5
9
7
6
5
3
3
11
7
7
10
9
5
5
7
8
10
14
12
10
11
11
9
14
12
17
11
12
17
7
17
20
22
14
25
19
15
30
24
25
28
26
34
29
33
29
31
28
33
33
34
35
37
35
43
22
39
39
34
37
53
43
45
43
36
41
44
57
52
40
52
38
39
43
53
46
55
54
39
50
48
46
46
61
53
44
58
49
48
40
48
52
38
50
50
37
42
32
25
35
37
37
37
38
31
25
18
30
20
27
24
21
22
20
20
18
9
14
12
12
22
9
11
12
13
6
5
6
10
4
8
4
10
10
7
8
12
13
10
6
8
11
7
5
6
7
9
4
7
10
8
9
7
6
4
8
7
13
6
10
9
3
7
4
6
13
8
7
7
4
11
9
8
11
8
6
5
3
9
12
13
10
8
5
10
9
8
9
8
8
7
14
20
9
11
8
17
6
14
16
12
16
10
14
14
23
13
15
17
14
12
15
21
27
23
25
18
16
22
25
27
19
31
31
19
30
26
27
27
32
29
40
22
26
37
31
21
44
41
34
37
38
25
42
31
32
31
39
49
28
48
43
42
43
44
45
38
37
49
33
47
44
40
51
45
42
40
37
36
37
38
46
33
41
40
35
41
44
45
41
53
46
39
46
39
53
54
54
47
52
62
58
57
71
63
62
65
75
76
80
75
100
65
113
91
115
106
105
143
128
133
127
114
117
121
156
124
147
152
143
159
181
162
167
191
171
179
156
177
157
204
198
159
195
205
189
195
206
193
195
175
199
199
195
210
213
193
195
187
213
217
196
200
181
200
186
162
166
195
161
163
159
146
164
143
124
116
102
105
98
97
86
98
71
74
79
61
65
52
35
41
37
32
40
26
37
19
27
20
11
22
16
10
14
10
10
5
5
11
12
4
3
3
2
2
2
1
0
1
2
0
2
0
1
1
1
0
3
1
1
0
1
1
0
0
1
0
0
1
2
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
2
0
1
0
2
2
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
2
0
1
1
0
0
2
1
2
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
2
1
0
1
1
1
2
3
1
1
1
1
1
0
1
0
0
2
3
2
2
0
1
0
3
2
0
1
1
1
0
0
1
2
0
0
0
1
0
0
0
4
1
0
0
1
0
0
3
0
1
0
0
1
1
0
0
0
0
1
0
1
3
3
0
2
1
1
0
3
1
2
0
2
3
1
2
2
1
1
2
0
1
0
0
2
1
0
0
1
1
2
0
1
1
1
1
1
0
1
0
2
2
1
0
1
2
1
0
1
3
1
0
0
1
2
0
2
1
1
1
1
0
1
4
2
2
0
1
0
0
2
0
0
1
4
1
2
1
2
1
2
0
1
4
2
1
1
1
3
3
1
3
1
1
0
1
0
2
2
1
0
1
0
2
0
1
1
3
0
2
5
0
3
1
3
1
1
1
0
0
1
5
4
2
3
0
0
0
3
4
2
0
0
1
0
1
2
4
1
1
0
1
0
1
4
2
1
3
1
3
1
1
1
3
3
3
2
2
1
2
2
2
1
2
1
1
5
2
1
4
1
1
3
2
4
2
2
6
5
1
3
7
1
2
1
4
3
3
6
0
3
2
1
1
1
4
5
2
3
3
1
5
2
2
0
1
4
1
1
2
2
2
6
5
1
5
0
3
3
4
4
1
2
5
3
6
3
5
6
3
5
4
3
2
1
3
3
3
4
3
4
4
7
2
4
2
6
6
5
8
4
6
5
7
5
5
2
2
5
3
3
0
5
4
3
6
2
2
1
1
3
1
3
6
2
3
5
6
5
1
4
5
3
6
3
3
1
3
6
2
3
4
2
3
1
0
3
4
3
3
3
4
4
1
2
3
5
5
7
2
3
2
4
2
3
4
1
2
2
4
2
2
6
2
1
0
1
5
2
7
4
4
2
6
1
1
2
1
2
0
1
4
4
3
2
0
1
2
3
3
2
1
4
4
3
2
0
1
2
4
3
1
2
5
3
2
4
3
4
2
0
4
4
1
2
3
3
2
2
3
4
3
3
3
1
3
4
2
2
7
4
5
6
10
1
3
4
2
3
3
4
7
3
5
6
2
4
4
4
4
1
3
5
3
7
3
1
7
3
3
5
5
4
3
5
1
4
3
9
4
2
7
6
5
3
5
4
10
3
4
7
4
2
2
9
5
4
6
4
3
5
7
2
6
8
8
2
6
9
6
7
7
6
6
6
10
15
13
3
10
12
11
5
8
9
13
5
9
9
14
10
10
9
6
13
13
10
10
13
12
11
7
17
14
15
20
12
11
13
9
15
8
15
13
14
22
11
16
20
14
16
17
20
10
20
20
12
19
14
19
24
25
14
11
15
19
16
14
20
17
17
20
15
18
23
21
22
15
22
15
13
23
21
24
24
21
24
16
14
23
22
26
30
30
27
17
28
15
33
34
32
15
18
20
30
30
21
24
25
25
27
22
23
33
28
30
28
22
30
22
21
25
26
22
26
27
27
25
25
15
24
23
19
15
23
20
20
21
20
21
35
26
26
25
25
23
24
19
21
21
27
29
23
24
23
14
24
21
22
17
10
24
16
27
11
11
22
30
26
23
21
21
15
27
14
23
22
23
21
21
20
19
21
16
16
23
20
21
23
28
29
36
13
27
29
33
24
25
32
21
34
30
28
30
33
32
31
26
38
34
34
32
30
52
31
42
25
35
46
28
42
44
40
33
42
44
44
41
45
58
41
53
40
53
36
47
43
46
38
43
35
48
49
42
45
51
51
49
43
46
51
54
49
51
55
62
53
52
45
59
65
62
47
58
54
47
51
59
47
61
62
50
65
52
61
60
52
57
57
78
72
68
56
43
65
70
70
61
58
46
55
67
63
63
70
53
63
52
66
56
61
69
65
59
61
67
71
58
67
74
70
60
86
71
61
80
73
83
66
58
62
77
76
85
76
67
84
80
89
75
90
73
74
80
88
74
82
94
93
102
90
93
106
91
104
86
102
115
105
110
109
103
104
118
90
112
106
111
130
118
97
117
129
111
105
119
131
133
124
111
120
114
141
148
125
125
145
113
120
116
126
122
134
118
137
144
169
142
134
143
159
139
159
146
147
151
142
148
148
140
173
173
150
158
161
160
157
154
189
167
179
175
157
162
195
182
192
183
157
179
200
178
185
205
183
214
206
217
206
198
235
241
223
198
237
229
241
217
265
264
236
241
246
277
247
225
245
294
258
236
257
305
259
312
268
290
293
317
278
293
292
275
310
316
312
322
292
308
319
355
373
355
375
414
372
382
390
393
377
396
438
393
412
424
464
439
453
444
490
476
509
491
486
508
521
494
551
545
507
563
522
584
531
580
572
634
621
607
640
652
657
679
643
675
689
701
649
765
704
742
759
765
797
824
769
818
855
818
824
897
899
853
910
886
911
872
950
933
964
1039
1034
1031
1120
1078
1152
1162
1111
1157
1220
1164
1238
1264
1270
1265
1344
1360
1438
1346
1478
1441
1558
1486
1571
1548
1584
1600
1598
1651
1782
1655
1734
1754
1801
1868
1880
1897
1893
1919
1998
2067
2124
2161
2179
2317
2284
2275
2412
2352
2519
2428
2603
2686
2637
2668
2816
2800
2885
2904
3031
3049
3169
3204
3347
3341
3546
3624
3742
3812
3770
4074
4219
4349
4422
4661
4705
4997
5090
5291
5547
5789
5907
6340
6612
6966
7457
7580
7953
8501
8968
9181
9940
10291
10943
11652
12252
13164
13877
14582
15325
16317
17150
17863
19006
20037
21185
21998
23070
24006
25217
26286
27738
28509
29027
29965
31491
32563
33244
33861
34766
35501
36758
37072
37348
38033
38659
39762
39946
40223
40771
41250
41619
41811
41999
42930
43235
43518
44076
44998
45585
45713
46125
46157
46797
47419
47401
46949
47509
47405
47177
47036
46627
46112
45267
44332
43307
42269
41125
40209
39077
37030
35658
33349
32011
30771
29268
27751
25897
24058
22970
21439
19730
18225
17057
15644
14611
13096
12103
11234
10150
9158
8321
7464
6663
6022
5366
4728
4042
3675
3136
2669
2245
1983
1582
1326
1121
852
775
620
507
412
314
239
208
142
120
99
70
53
34
48
24
31
31
30
20
21
24
17
17
22
20
19
19
19
20
33
29
28
42
29
20
37
32
47
36
37
47
47
38
39
44
49
48
51
43
55
49
60
69
57
57
68
76
67
67
78
76
83
76
86
89
79
85
84
112
95
98
89
100
118
101
129
99
114
111
104
86
90
111
91
80
91
69
74
73
74
50
57
64
42
52
49
51
31
43
30
28
25
25
16
16
11
15
14
11
4
9
3
11
4
7
3
2
4
2
0
4
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
1
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
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
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
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
1
0
0
0
2
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
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
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
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
1
0
0
0
1
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
1
2
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
0
1
0
1
0
1
1
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
2
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
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
0
0
0
1
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
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
1
0
0
1
0
1
0
0
0
1
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
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
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
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
0
0
0
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
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
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
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
2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
2
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
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
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
2
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
2
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
0
0
2
0
1
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
2
0
2
0
0
2
1
0
0
0
2
0
1
1
0
2
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
2
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
2
0
1
0
1
1
0
1
1
0
0
1
1
0
2
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
2
0
1
1
1
2
0
0
2
2
0
2
2
2
1
1
0
2
0
1
1
2
2
1
4
2
1
3
0
2
4
2
2
2
2
2
2
5
2
0
4
2
2
3
3
5
2
2
4
3
3
2
5
5
4
4
1
5
2
2
3
2
3
4
1
0
1
3
3
3
2
1
2
3
2
3
3
0
1
0
2
1
3
1
0
0
0
3
0
0
0
1
0
0
1
0
1
0
1
2
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
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
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
2
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
2
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
3
1
1
1
0
0
0
2
1
1
1
4
1
1
0
0
0
0
0
0
1
2
2
2
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
2
1
0
0
0
0
2
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
2
1
1
0
1
2
1
0
0
1
0
0
1
0
0
0
2
1
0
0
1
0
0
0
0
0
0
0
1
1
0
2
1
1
1
0
0
0
2
2
1
2
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
3
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
2
3
0
0
2
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
2
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
2
0
0
0
0
1
0
1
0
0
0
0
2
1
1
0
2
0
0
0
0
0
0
0
0
2
0
0
1
0
1
1
2
1
1
0
0
0
1
0
0
1
0
0
0
2
0
0
1
1
1
0
2
0
1
0
0
2
1
0
0
1
0
1
0
0
1
4
1
1
0
0
1
2
2
0
2
0
1
2
0
1
0
0
1
0
2
0
1
1
0
1
2
1
0
3
2
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
1
1
0
0
2
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
2
1
0
0
1
0
0
2
0
0
0
0
0
1
0
0
1
1
1
0
2
1
0
1
0
1
1
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
0
1
0
1
0
1
1
0
0
2
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
2
0
0
3
0
0
0
1
1
0
0
0
1
2
0
2
0
0
0
0
0
1
0
0
2
1
3
1
0
1
1
1
2
0
0
0
2
2
2
0
1
2
6
0
3
1
1
2
2
2
3
1
1
3
2
0
0
1
2
1
4
2
0
1
1
5
5
3
3
1
4
1
2
2
3
6
6
8
2
3
9
4
7
4
7
6
3
4
2
11
6
7
5
7
5
4
3
8
9
7
9
8
12
6
9
7
7
7
8
4
10
8
8
7
8
7
10
8
8
7
8
7
6
10
10
16
8
6
7
8
7
4
6
6
7
7
7
7
9
5
11
7
4
5
3
4
5
3
3
5
7
6
3
6
2
1
1
3
2
2
3
3
6
1
2
1
1
3
1
0
0
1
2
1
0
1
2
0
1
0
0
0
0
3
0
1
0
0
1
0
0
0
0
0
2
1
0
0
1
2
0
0
0
0
0
1
0
2
2
0
0
1
0
1
0
0
0
1
2
0
0
1
0
1
1
1
0
0
1
0
1
2
1
2
0
2
0
0
4
0
1
1
2
1
3
0
1
1
3
2
3
2
2
4
5
2
2
3
5
3
2
6
4
8
4
3
6
4
6
4
3
3
4
4
2
5
5
2
5
3
9
7
1
6
5
3
5
5
5
3
7
8
5
6
7
4
6
2
4
8
8
5
5
7
4
7
6
8
4
7
