0
5
3
2
1
3
3
3
5
1
1
1
2
1
1
1
4
1
3
0
0
2
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
2
0
1
0
2
2
1
1
1
0
1
2
1
1
1
1
1
0
0
1
3
0
0
1
0
1
1
0
0
0
3
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
2
0
0
1
0
2
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
2
1
0
0
0
1
0
0
0
1
0
0
0
2
1
0
1
0
0
0
0
0
0
1
0
0
0
0
3
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
2
1
1
0
0
1
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
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
2
0
0
2
0
0
1
2
0
0
0
0
0
0
0
1
1
0
0
0
2
1
0
0
1
0
1
1
0
2
0
1
0
0
0
0
0
0
2
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
3
0
1
1
1
2
2
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
2
1
0
0
3
0
2
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
2
0
0
1
0
0
2
0
1
1
0
2
1
0
0
2
0
0
0
1
0
2
0
2
1
1
3
0
1
0
2
2
2
3
0
1
1
0
1
1
0
0
3
0
3
2
2
0
2
0
0
1
0
2
2
1
0
1
0
1
6
1
4
2
0
1
0
0
1
4
1
3
0
2
2
1
3
1
4
3
2
0
1
2
0
4
3
2
3
2
3
2
3
5
1
2
2
4
9
4
2
3
4
3
2
3
5
3
4
4
2
5
5
3
5
3
7
4
1
6
6
6
5
3
6
7
6
8
11
5
7
7
8
5
1
4
7
7
5
4
6
9
5
4
6
5
4
12
4
4
5
6
10
8
16
9
9
11
8
11
13
11
17
10
13
5
6
15
21
15
14
14
12
19
24
20
28
27
22
23
21
29
19
28
29
25
32
29
42
26
49
37
42
47
45
43
45
65
54
44
48
67
72
65
57
76
59
80
72
82
87
69
87
82
85
98
84
88
75
97
88
97
91
96
83
99
96
78
94
87
102
118
90
104
109
122
78
113
100
91
87
103
106
80
93
85
81
76
88
67
74
81
58
66
64
53
50
68
50
38
42
43
31
30
27
29
17
23
18
25
14
11
8
11
17
9
5
8
3
5
7
4
3
2
0
3
2
1
3
1
0
0
1
1
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
1
1
0
0
0
1
2
0
0
2
1
2
0
0
1
0
3
1
1
1
0
0
2
0
1
1
0
1
0
1
1
0
1
2
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
2
1
1
1
0
0
0
2
2
1
3
1
1
0
1
1
2
0
0
1
1
1
2
0
2
2
1
3
0
2
1
0
0
0
1
1
0
0
0
2
2
1
0
1
1
2
0
2
0
1
0
1
3
0
0
3
0
3
0
2
2
1
2
1
1
4
1
3
2
4
3
2
2
2
0
2
1
0
1
2
1
3
2
4
3
1
2
2
5
2
4
1
3
0
2
1
3
2
2
4
1
6
7
3
4
4
8
4
2
6
3
6
6
4
4
2
3
4
5
4
11
9
10
6
12
12
9
10
8
10
9
9
6
9
16
12
17
11
16
10
14
10
14
14
16
23
18
20
21
13
20
22
23
21
26
24
20
24
31
18
20
22
21
25
20
30
33
26
27
27
23
26
24
26
26
28
28
35
36
21
29
26
28
42
25
20
27
28
25
28
23
31
25
18
19
20
22
23
27
16
11
18
18
12
11
17
9
12
11
11
12
6
10
11
4
6
7
6
2
10
5
10
4
2
4
1
2
4
2
2
3
4
6
7
2
4
2
6
6
3
2
2
2
4
3
2
1
3
1
5
5
6
1
3
2
4
2
2
3
0
3
5
5
2
6
4
3
4
2
2
6
1
1
2
2
6
8
5
3
5
3
3
6
3
3
4
2
7
4
5
6
4
3
6
7
4
4
7
5
5
9
7
8
7
7
6
8
10
10
16
13
13
7
8
11
15
14
14
12
12
11
12
16
7
13
13
12
19
26
15
17
21
24
20
20
20
25
19
13
14
20
14
16
29
22
23
34
32
24
22
26
22
27
20
23
27
22
27
19
25
20
22
26
17
25
21
26
25
22
31
11
22
27
16
20
28
29
22
21
21
30
21
24
32
17
33
33
36
29
27
28
37
37
36
43
50
46
43
49
67
68
53
52
64
53
74
81
73
81
73
73
77
86
80
91
82
101
74
95
93
92
95
98
111
115
93
109
112
118
112
105
124
115
90
104
125
123
122
126
122
126
120
123
116
118
122
113
132
120
139
105
101
119
95
96
113
128
105
87
93
100
90
76
77
67
74
54
75
63
56
63
54
51
41
41
40
44
33
30
35
26
17
22
28
17
6
8
14
13
8
5
8
3
4
3
3
4
4
5
2
7
3
0
1
0
0
0
0
0
0
1
1
1
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
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
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
2
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
2
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
2
0
0
0
1
0
1
2
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
2
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
2
1
1
1
0
0
0
0
1
0
1
2
0
0
0
1
0
1
0
0
0
1
1
2
1
0
0
0
1
2
0
1
0
0
0
0
0
0
1
0
1
0
1
1
2
2
0
0
2
1
0
1
0
0
1
0
4
0
1
0
1
1
3
1
1
0
0
0
0
1
0
2
2
1
0
1
0
1
1
1
2
0
0
2
2
1
1
2
0
2
2
2
0
0
0
3
2
0
0
0
0
0
1
1
0
0
0
2
0
1
2
0
1
0
2
2
1
1
2
0
2
0
1
1
2
3
2
2
1
2
1
1
1
0
0
3
1
1
1
1
0
3
0
2
3
1
1
1
3
2
2
2
1
2
2
5
4
5
0
1
5
0
1
2
1
1
1
0
1
2
1
3
2
2
1
1
1
1
3
2
0
0
1
1
0
0
3
1
0
3
0
1
1
0
1
2
1
1
0
1
0
0
1
2
0
2
0
1
0
2
2
0
1
0
0
0
0
0
1
2
2
0
0
0
1
0
2
1
0
1
1
1
2
2
1
2
2
0
1
1
0
2
0
0
1
1
0
2
1
0
1
1
1
0
1
1
0
1
0
1
0
1
2
2
1
0
1
2
0
0
1
0
0
0
1
2
0
0
3
0
0
2
2
0
3
3
3
0
2
1
2
1
1
1
1
1
0
2
1
1
0
1
1
2
3
1
4
1
3
1
4
2
0
2
2
2
1
2
1
2
1
3
2
1
2
1
2
3
4
2
1
1
4
1
4
4
2
6
3
1
4
6
1
2
9
2
0
3
2
6
1
0
3
3
3
5
4
2
2
3
3
4
4
5
6
5
2
2
3
3
3
5
6
5
6
4
2
3
5
2
6
4
7
2
3
1
3
7
9
12
5
3
8
3
2
3
3
6
4
3
6
7
5
8
8
4
3
5
5
4
7
3
5
4
11
5
2
2
9
9
3
8
9
9
5
2
9
9
9
7
4
8
8
11
10
11
10
10
4
8
9
6
7
8
9
11
3
8
9
9
11
7
12
17
7
12
4
6
8
9
11
5
11
12
7
8
7
10
7
11
6
6
13
9
7
14
11
8
6
11
8
4
8
11
4
4
5
7
4
7
7
11
6
6
3
6
2
9
4
8
6
4
7
13
8
8
6
9
11
7
9
6
10
3
4
5
9
9
12
8
2
8
8
4
8
12
5
9
7
11
3
5
12
5
4
6
12
5
11
12
6
9
7
6
14
14
8
6
10
9
7
18
9
14
6
13
12
9
8
10
13
14
10
14
12
13
16
13
15
17
9
22
14
16
22
14
14
11
17
19
7
12
8
12
15
24
14
16
11
15
13
16
20
14
22
25
19
18
12
25
15
17
18
21
19
22
28
15
19
17
24
26
16
29
13
19
18
21
13
23
14
15
29
23
20
25
13
29
21
21
13
22
21
25
21
28
18
15
28
23
27
19
22
22
16
25
23
19
23
28
20
23
20
21
17
16
21
27
23
12
25
25
18
24
25
21
24
32
20
26
35
21
20
39
31
17
31
23
27
22
32
31
31
45
32
29
30
28
23
40
27
28
35
31
33
25
27
33
30
37
33
37
34
40
38
35
35
37
31
50
36
39
37
48
33
49
48
43
41
41
40
36
47
45
34
37
56
49
46
43
48
44
49
50
58
65
48
52
50
59
53
53
58
61
50
52
50
59
51
66
51
47
63
51
64
54
74
70
67
66
78
90
69
47
72
74
75
67
68
83
75
82
79
83
98
83
89
81
78
75
77
83
85
89
82
102
99
104
96
103
104
104
92
130
95
102
109
105
109
87
98
103
110
103
115
98
111
107
123
129
140
135
141
130
136
151
132
132
134
136
140
135
173
136
141
169
162
189
179
167
191
163
189
204
182
189
193
221
209
245
220
200
201
240
221
231
224
219
261
266
232
238
265
282
282
250
271
286
263
314
282
298
300
314
308
342
316
331
305
336
328
329
314
384
345
413
425
368
397
366
399
394
402
445
415
409
450
449
487
451
475
497
494
488
464
504
562
544
512
524
554
598
602
618
574
604
622
642
650
675
664
647
749
699
719
749
762
775
790
778
829
795
859
871
885
878
947
963
1027
967
969
979
1011
1049
1043
1055
1088
1116
1119
1210
1210
1250
1353
1290
1375
1398
1464
1513
1521
1608
1610
1717
1773
1717
1810
1895
1947
2044
2012
2168
2203
2349
2434
2516
2590
2726
2820
3030
3197
3272
3473
3735
3807
4158
4296
4633
4930
5123
5326
5908
6294
6459
6950
7201
7823
8098
8624
9246
9606
10080
10621
11449
11893
12375
13021
13968
14635
14969
15483
16273
16902
17291
18206
18647
18898
19535
20136
20520
20957
21292
22131
22246
22426
22609
22847
23137
23452
23514
23505
24047
24512
24709
24823
25248
25606
25507
25974
26148
26527
26959
27188
26816
27590
27192
27360
27039
27192
27261
26229
26326
25642
25096
24215
24312
23733
22399
21785
20922
20234
19105
18552
16870
16298
15257
14247
13342
12727
11822
10983
9983
9466
8680
8184
7297
6733
6194
5552
4984
4712
4033
3777
3254
2881
2453
2190
1849
1632
1356
1150
947
828
676
548
480
379
305
258
195
142
112
75
84
67
49
41
26
26
9
14
8
7
6
8
1
3
3
14
6
6
3
9
12
8
8
4
7
5
13
6
6
7
11
10
10
12
14
10
17
13
12
9
11
15
14
18
22
8
18
16
22
21
24
20
32
29
20
35
25
24
32
30
31
25
27
23
34
27
23
32
29
30
29
33
26
21
22
22
22
31
22
30
20
25
21
15
16
22
17
11
18
8
9
9
12
8
4
8
11
4
4
4
7
2
2
0
1
2
0
0
0
3
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
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
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
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
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
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
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
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
1
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
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
2
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
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
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
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
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
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
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
1
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
1
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
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
1
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
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
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
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
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
2
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
1
0
0
0
0
0
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
2
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
4
1
0
1
0
0
0
0
0
1
0
0
1
2
2
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
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
1
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
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
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
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
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
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
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
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
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
0
0
0
0
0
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
1
0
1
0
0
0
0
0
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
0
0
0
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
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
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
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
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
0
0
1
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
1
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
1
0
1
0
1
0
1
1
0
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
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
1
0
0
0
0
1
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
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
2
1
0
2
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
2
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
2
0
2
1
2
1
2
1
3
4
0
3
2
2
4
2
2
6
5
1
3
1
9
5
2
1
7
3
4
5
5
8
6
6
4
6
5
4
3
8
7
6
8
5
1
7
5
7
6
8
8
8
15
7
8
8
10
3
7
14
8
4
9
7
9
11
8
12
14
16
8
13
16
10
8
5
4
10
10
8
10
5
8
9
4
6
3
2
7
4
7
5
5
5
4
4
2
4
5
2
0
0
3
0
2
2
0
1
4
1
1
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
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
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
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
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
2
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
1
0
0
2
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
3
1
0
2
0
0
0
2
0
1
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
2
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
2
1
0
1
0
2
0
0
0
0
0
0
1
0
0
0
1
0
1
3
2
1
1
0
0
0
1
1
0
1
0
0
0
0
0
2
1
3
0
1
0
2
0
0
0
1
1
1
1
1
2
0
1
0
1
0
1
0
1
0
1
0
2
0
0
1
1
0
0
0
1
3
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
0
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
2
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
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
2
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
2
0
1
1
0
0
1
1
4
2
3
1
0
1
0
1
2
0
2
3
1
4
2
0
1
0
0
2
0
1
1
1
0
2
2
2
0
1
5
6
2
3
2
2
3
3
2
7
4
3
3
3
5
4
0
0
7
4
3
1
3
7
3
8
3
3
3
4
4
6
6
1
4
6
7
4
1
4
8
4
2
7
8
5
4
5
6
2
5
8
7
6
5
2
5
1
8
7
4
3
2
2
4
6
3
1
2
0
2
3
3
4
2
3
5
1
0
3
1
1
2
2
0
2
1
1
2
2
0
0
1
0
0
0
0
2
1
0
0
0
0
0
1
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
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
3
1
3
1
3
1
1
1
2
1
7
3
2
5
2
3
4
0
1
2
2
1
2
4
4
3
3
2
2
5
6
4
6
2
3
3
3
3
2
1
1
6
3
4
5
4
5
0
3
1
0
4
1
1
3
4
3
