0
1
0
1
2
2
2
1
2
0
1
1
3
0
1
0
2
0
0
2
0
0
1
2
0
3
0
0
0
0
2
1
1
0
1
0
1
0
3
1
2
0
1
0
1
1
0
1
1
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
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
1
0
1
2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
2
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
2
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
2
1
0
0
1
0
2
1
2
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
2
1
0
0
0
0
1
3
1
1
1
2
0
0
0
0
1
2
0
0
0
1
1
1
0
3
0
2
0
1
0
1
1
1
0
1
1
0
0
1
0
2
0
1
1
0
1
4
1
1
0
0
1
0
0
2
0
1
1
1
0
1
1
1
1
0
1
2
4
0
2
1
0
2
3
0
5
1
0
1
2
2
2
3
2
0
3
1
2
1
2
2
5
2
1
1
3
0
0
0
0
4
4
0
2
1
2
2
1
1
5
1
2
2
3
0
3
4
4
3
5
2
6
3
2
5
1
0
1
6
1
3
5
0
1
3
3
4
4
2
3
2
2
1
7
4
4
3
2
8
5
1
8
5
5
4
6
5
5
7
2
5
7
8
7
9
1
4
7
3
7
5
1
8
5
5
6
5
9
4
3
13
8
10
8
11
4
9
8
9
5
11
13
6
9
6
8
12
13
5
12
14
9
9
11
4
24
18
11
20
14
13
10
9
15
17
19
21
12
16
18
19
10
19
16
18
20
20
18
23
26
24
30
19
20
21
25
36
26
30
28
22
39
32
28
36
42
30
40
33
44
36
40
61
44
61
51
51
73
69
50
90
80
73
78
98
115
103
126
132
137
177
142
151
173
170
189
198
199
231
194
233
243
245
270
251
263
265
256
298
316
316
251
293
352
330
317
333
320
343
328
363
360
308
372
362
349
355
407
401
391
387
393
406
379
433
408
397
382
424
412
368
392
410
356
385
336
341
332
308
292
284
271
294
241
246
217
210
190
163
163
162
162
115
126
110
106
91
89
79
58
53
51
53
45
36
34
34
19
25
17
18
13
10
9
13
5
6
3
2
3
4
1
2
2
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
2
1
1
0
0
0
0
0
0
0
0
2
1
2
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
2
0
0
0
1
1
2
0
1
1
0
1
0
0
0
0
0
0
1
0
2
0
1
1
0
1
0
2
0
1
0
2
0
0
0
3
1
0
0
2
2
0
0
0
1
0
1
1
0
0
1
0
0
3
1
1
0
1
0
0
0
1
1
0
1
0
1
2
5
1
0
0
3
0
0
0
0
2
1
1
0
2
1
4
0
2
1
5
4
3
3
5
3
1
1
5
2
1
3
1
2
0
3
2
2
4
1
4
4
5
2
9
3
6
7
4
6
13
5
7
11
10
6
7
10
9
9
7
15
8
12
7
12
18
11
9
15
9
12
11
21
14
19
9
19
13
12
11
10
14
15
13
14
20
15
17
9
19
19
13
16
12
13
18
21
17
13
9
14
19
17
18
16
12
11
23
19
25
16
11
15
8
10
12
12
9
15
7
12
10
6
9
3
11
1
8
4
2
5
1
7
5
3
3
2
3
1
1
2
7
2
0
1
0
1
1
3
1
3
2
3
3
0
2
1
2
1
0
2
1
2
1
0
0
0
2
0
2
2
2
2
1
1
1
1
0
2
0
1
3
1
3
1
0
4
4
2
3
1
3
1
3
1
1
2
3
2
1
3
4
3
1
2
2
3
3
1
3
3
3
1
4
6
2
8
3
2
2
3
4
4
6
12
4
16
3
6
10
6
1
9
7
11
7
4
9
12
9
17
11
9
11
6
8
8
13
11
10
11
9
18
12
8
13
11
13
10
19
13
13
16
12
19
13
14
11
9
16
9
14
16
17
12
23
14
6
19
17
10
21
15
13
18
13
5
12
9
10
5
14
16
11
15
13
19
14
17
28
11
22
18
19
16
13
25
23
17
24
24
17
25
19
31
28
24
32
34
36
36
32
45
40
37
49
42
45
47
46
46
58
64
56
38
51
58
60
61
57
63
64
55
71
66
65
45
62
74
76
85
67
70
60
74
76
79
77
63
67
72
72
78
68
74
80
56
78
51
67
68
54
81
61
55
69
41
53
49
48
45
37
41
41
38
30
47
37
24
16
25
24
17
22
20
19
12
15
10
5
14
7
10
9
6
3
7
6
5
0
2
1
1
1
1
1
1
3
1
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
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
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
0
0
1
0
0
0
0
0
0
1
2
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
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
3
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
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
2
1
0
1
2
2
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
3
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
2
2
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
2
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
2
1
0
1
0
0
0
0
1
2
0
0
3
2
1
1
0
1
4
1
0
1
3
1
0
1
0
0
0
3
2
1
0
1
0
0
0
1
0
0
2
1
1
1
0
1
0
2
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
2
0
1
0
0
0
2
0
0
0
1
0
2
0
2
0
1
0
0
1
0
1
0
1
3
0
0
0
0
1
0
1
0
1
0
0
1
0
2
0
0
0
0
0
0
0
2
0
2
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
2
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
1
0
1
0
0
3
0
0
1
1
0
0
2
1
0
1
0
1
0
0
1
2
0
1
0
1
1
0
3
2
2
4
1
1
3
3
2
0
1
0
2
0
3
1
1
0
1
2
4
2
2
1
1
3
1
1
1
2
1
1
0
1
0
2
1
1
1
2
1
4
2
5
1
4
1
0
0
2
2
3
2
1
2
2
1
0
1
1
4
1
3
2
5
3
1
2
0
6
3
1
2
3
1
0
3
3
1
1
4
4
1
2
0
3
0
1
1
3
4
2
1
4
4
5
3
3
3
2
1
2
3
2
3
7
3
3
1
6
1
2
2
2
5
3
2
2
6
3
4
3
5
3
6
2
9
4
4
2
3
2
6
4
3
5
3
0
2
2
2
6
3
6
2
1
5
2
2
2
3
6
2
3
4
4
2
3
5
1
3
5
0
0
6
3
7
1
2
1
4
3
6
2
4
3
6
2
3
3
1
4
2
5
3
4
3
6
6
3
1
4
4
6
3
1
4
4
4
2
3
1
2
3
1
11
6
0
7
2
2
2
6
3
4
5
7
6
2
5
3
5
6
4
4
4
8
1
5
7
3
6
2
6
6
6
7
5
4
7
8
11
6
9
7
8
8
10
6
12
7
8
8
9
6
3
8
5
5
6
5
7
11
6
8
9
13
7
13
7
6
7
7
13
12
4
5
8
8
4
10
2
10
9
13
13
8
2
9
10
13
8
8
12
6
11
10
10
7
7
7
12
6
10
10
5
10
12
14
13
9
6
10
7
10
5
13
12
16
8
6
9
13
8
10
8
13
8
15
11
9
8
9
9
9
11
7
12
9
14
9
11
7
14
12
22
13
14
8
7
6
14
21
13
16
12
17
11
19
11
19
9
9
14
13
17
14
14
17
19
16
22
13
23
20
19
15
18
19
20
15
24
23
15
16
21
24
15
14
26
21
24
27
19
27
23
24
20
20
33
21
18
29
27
27
23
26
15
28
27
23
21
20
20
16
27
29
38
20
25
29
23
33
40
21
24
21
31
31
33
22
26
34
32
30
40
37
34
37
43
30
42
37
51
32
36
39
38
33
30
44
56
42
33
61
48
43
49
55
47
42
49
51
45
33
45
54
59
58
59
46
58
62
58
63
70
66
67
69
70
67
64
80
68
48
74
65
93
65
85
63
98
80
68
85
89
110
81
92
97
90
86
90
98
90
111
115
100
119
125
112
136
131
131
114
124
101
109
136
131
131
106
147
153
147
145
151
153
132
137
158
172
195
161
169
165
171
202
180
178
187
207
190
198
175
203
207
190
201
225
231
220
218
217
218
237
245
228
267
248
260
268
266
268
289
292
299
317
294
306
295
290
321
328
361
330
374
328
396
382
368
379
378
356
411
387
407
474
458
456
461
475
457
474
459
498
494
533
552
557
572
572
539
615
596
597
681
643
633
711
716
713
784
742
832
806
901
892
878
944
981
932
1003
1018
1108
1142
1210
1224
1289
1292
1379
1460
1475
1605
1684
1748
1812
1996
2034
2090
2290
2452
2555
2697
2928
3112
3239
3508
3663
3879
4138
4298
4667
4945
5225
5547
5968
6281
6748
7048
7425
7928
7990
8486
8935
9374
9790
10052
10394
10831
11093
11533
11806
12336
12575
12696
12967
13220
13147
13514
13914
13971
13989
14794
14486
14538
14674
14899
15282
15357
15615
15486
15740
15943
16277
16371
16438
16637
17061
16937
17124
16855
17222
16994
16714
16608
16515
16050
15924
15361
15186
15056
14476
13860
13654
12865
12078
11707
11208
10366
9866
9349
8942
8205
7634
7238
6749
6274
5718
5302
4902
4308
4022
3638
3255
3050
2743
2400
2227
1917
1750
1443
1320
1168
947
840
686
656
477
424
353
297
225
193
132
105
88
66
43
37
34
24
21
15
8
5
10
8
5
4
1
3
3
1
1
3
0
3
4
2
7
2
0
6
1
1
5
7
6
2
5
5
3
7
1
4
3
6
4
4
6
6
6
4
8
11
6
14
7
8
9
7
5
11
8
5
6
8
16
14
14
12
11
14
18
15
10
8
17
8
11
9
8
17
11
16
6
8
10
8
2
7
4
6
10
5
5
10
6
5
6
8
6
2
2
3
2
2
0
1
1
4
0
1
0
0
2
0
0
1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
2
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
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
1
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
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
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
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
0
0
0
0
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
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
1
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
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
2
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
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
2
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
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
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
2
1
0
1
0
2
0
1
1
2
1
0
1
0
1
1
0
0
0
2
1
0
2
3
0
2
1
2
1
5
2
1
2
3
0
0
3
2
1
4
0
4
1
1
2
1
4
2
3
2
1
3
3
2
3
2
1
1
2
1
2
1
0
4
0
2
1
4
0
3
2
2
3
0
0
2
2
1
0
1
1
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
0
1
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
0
0
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
1
0
0
2
0
0
0
0
0
2
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
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
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
2
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
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
1
0
0
1
0
1
0
0
0
0
1
2
0
0
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
0
1
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
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
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
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
1
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
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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
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
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
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
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
1
0
0
0
0
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
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
2
2
0
0
0
0
1
2
1
0
1
0
0
1
0
1
0
1
0
0
1
0
2
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
3
0
1
1
0
1
1
1
1
2
1
1
2
0
1
1
2
1
3
2
0
1
2
2
2
2
2
2
1
1
5
1
3
1
3
2
1
0
2
2
6
2
3
3
2
2
2
6
6
3
2
6
2
6
9
8
4
9
5
10
6
2
8
10
12
8
8
8
11
14
11
13
10
11
9
11
13
14
9
11
22
19
15
15
17
14
22
21
11
13
11
13
14
24
15
17
15
19
21
19
11
23
28
22
19
19
14
19
18
17
12
13
26
14
18
12
16
12
16
7
16
16
10
6
5
10
10
9
7
5
6
5
9
3
6
6
6
3
2
3
5
3
2
2
1
2
3
1
0
1
3
0
0
1
1
2
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
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
2
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
2
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
2
1
0
0
2
0
1
2
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
1
2
0
1
1
1
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
2
0
1
1
3
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
2
1
0
1
3
3
2
0
4
0
2
1
0
2
0
4
2
2
1
3
2
0
0
1
1
4
6
1
3
1
1
1
2
0
1
2
2
2
1
2
0
1
7
2
3
3
2
2
0
2
0
4
3
2
2
2
0
0
2
0
1
2
2
2
3
2
0
2
2
0
0
0
1
0
1
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
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
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
2
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
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
2
0
0
0
0
1
1
1
1
0
0
1
1
1
3
0
0
1
2
0
0
1
0
1
0
0
0
3
1
0
0
0
0
1
3
0
0
2
1
2
2
1
2
0
1
2
2
2
1
0
1
0
1
3
3
3
1
7
2
3
3
2
4
4
5
1
3
9
1
1
4
1
3
1
3
2
4
1
5
0
2
5
5
7
3
3
5
2
4
1
4
3
3
3
2
3
5
2
0
2
1
3
3
2
0
1
2
3
2
0
1
1
1
2
1
0
0
0
0
2
0
3
1
1
1
0
1
1
1
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
1
0
0
0
1
0
0
0
2
1
0
2
1
1
0
0
0
0
0
0
0
1
1
1
0
2
0
0
1
0
2
2
0
1
0
1
0
2
0
0
0
3
3
1
1
1
3
0
0
1
0
1
0
2
3
1
1
1
1
0
3
0
3
2
4
1
4
1
0
1
3
1
2
0
0
1
3
4
3
1
1
3
0
1
1
0
1
1
5
3
3
1
2
2
4
2
1
5
4
