0
2
1
3
1
3
5
2
2
2
0
2
0
2
0
3
3
2
1
0
0
2
1
1
1
0
1
2
1
1
0
0
0
2
0
1
1
1
1
2
0
3
0
0
1
1
0
2
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
3
0
1
0
1
5
2
3
1
3
0
0
1
1
0
1
1
1
1
0
2
0
0
1
2
0
1
0
1
1
1
1
1
1
1
1
0
0
2
1
1
1
1
0
2
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
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
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
1
0
1
1
0
1
1
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
2
0
1
0
1
0
0
1
0
0
2
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
3
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
2
0
1
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
2
0
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
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
2
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
1
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
2
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
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
1
1
0
0
0
2
1
1
1
0
0
1
1
0
0
0
1
0
1
2
2
0
1
1
2
0
0
1
0
0
2
1
1
0
1
1
1
1
0
0
1
0
2
0
1
2
0
1
2
0
1
3
1
0
3
1
1
1
1
1
1
2
1
0
3
2
3
2
1
0
1
0
2
0
1
1
0
3
2
0
3
2
4
2
1
3
0
1
1
0
2
2
3
0
0
3
2
2
2
2
3
1
3
2
2
0
8
2
2
2
4
3
1
4
4
3
4
2
4
1
2
2
3
5
2
1
3
5
2
3
4
6
3
5
2
3
3
5
5
2
4
6
4
6
4
3
3
4
5
5
3
4
5
3
5
4
4
7
5
4
5
8
9
12
6
10
11
11
10
4
9
9
8
6
10
5
13
10
10
10
9
9
15
19
21
8
12
18
16
10
12
19
16
15
19
24
26
18
24
27
28
28
29
27
39
34
32
34
25
29
33
41
31
31
45
40
37
32
40
40
42
33
35
50
40
40
33
45
39
43
29
42
55
53
39
43
36
35
51
36
35
43
42
34
23
30
39
27
37
30
38
33
29
24
26
23
23
24
16
15
25
16
13
15
8
7
12
6
8
7
6
5
5
8
4
2
3
4
6
2
1
1
2
1
2
1
0
2
4
0
0
1
0
1
1
0
0
0
2
0
2
1
0
0
0
2
0
1
2
1
0
2
2
2
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
2
3
1
0
2
2
0
2
2
1
1
1
2
1
2
5
0
4
0
2
1
2
0
0
1
0
1
0
1
0
0
2
0
2
4
0
0
0
2
0
0
0
1
1
1
1
0
4
1
1
1
0
4
1
1
1
1
1
1
1
2
3
1
2
2
1
1
0
3
2
0
1
3
0
3
1
5
6
3
2
5
1
3
4
1
5
2
2
4
0
1
1
1
0
1
3
3
1
3
0
3
1
1
3
0
2
5
3
2
3
3
3
3
2
1
1
5
0
3
5
5
1
4
2
3
0
8
3
5
4
7
1
1
1
5
6
7
6
6
3
7
2
5
4
5
5
4
5
4
5
2
7
5
6
3
4
6
13
7
4
3
17
10
5
6
7
11
10
14
10
11
15
13
17
16
11
18
17
16
11
21
23
23
26
37
23
21
25
21
18
24
29
28
23
27
32
40
42
32
40
40
36
34
38
26
35
47
42
33
41
36
35
50
47
41
41
37
54
47
44
32
46
40
43
42
49
39
37
39
21
39
40
36
33
41
38
37
24
37
45
35
26
24
23
27
24
32
22
25
20
25
25
18
20
17
25
26
11
9
12
12
12
8
9
4
6
6
7
7
10
5
6
5
4
8
5
7
10
6
8
2
11
3
5
4
7
5
8
5
4
6
4
5
7
6
5
8
4
9
3
7
3
5
2
8
5
3
8
5
5
8
5
7
5
10
3
5
10
5
5
11
8
5
8
8
6
10
5
5
6
6
7
9
5
13
6
10
13
8
16
7
12
12
9
12
6
8
9
14
12
16
15
19
18
17
14
13
17
20
17
15
23
17
30
17
32
33
27
22
39
24
33
22
31
27
27
22
28
21
33
33
22
30
33
30
42
37
34
36
23
42
42
33
43
47
40
30
37
33
40
37
44
27
28
27
28
35
22
38
34
42
27
36
38
23
27
44
39
27
34
33
32
48
23
46
31
37
32
34
42
46
45
41
47
41
41
51
62
58
72
67
71
56
73
64
83
80
89
70
106
87
94
104
94
109
114
117
115
125
132
112
129
121
140
131
150
162
150
149
128
138
145
116
179
140
158
144
155
165
169
163
159
165
158
172
166
168
168
181
165
175
142
173
156
165
167
193
160
149
148
164
143
133
148
132
130
105
114
95
97
115
84
93
56
85
78
52
42
54
55
48
52
51
39
40
21
24
25
15
12
14
13
16
11
11
5
10
5
7
9
7
3
3
2
3
3
1
1
2
1
2
1
1
0
1
1
0
1
0
2
0
0
0
0
0
1
3
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
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
2
2
1
1
0
0
1
0
2
1
0
0
0
2
1
0
0
0
2
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
2
0
1
2
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
2
1
0
1
0
2
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
2
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
2
0
0
0
0
2
0
1
1
1
1
0
2
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
2
0
0
1
2
1
0
3
0
0
0
1
1
2
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
2
0
2
1
0
0
2
1
0
1
0
0
2
0
1
0
2
0
1
2
0
2
0
1
1
1
2
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
3
1
0
1
2
0
1
0
1
0
0
0
2
1
4
0
1
1
0
2
2
1
1
0
3
0
2
0
0
1
0
0
1
0
4
3
3
0
1
1
0
1
1
0
3
1
0
2
1
0
0
0
0
1
1
0
1
0
1
2
0
4
1
0
1
0
3
2
1
1
0
3
2
2
0
1
0
1
1
1
2
1
0
2
1
1
3
6
3
2
2
0
0
2
3
0
1
1
1
0
3
0
1
3
3
0
1
1
1
1
2
2
3
1
0
0
3
1
3
1
0
5
1
3
3
2
4
0
1
2
1
4
2
4
3
1
3
3
3
1
4
0
1
0
1
1
1
1
0
3
3
2
2
3
1
0
3
3
1
1
4
7
2
4
3
2
0
2
3
2
0
2
3
3
4
1
4
6
3
0
1
1
2
2
1
2
2
2
3
0
1
1
0
4
2
2
1
0
0
0
1
3
4
1
1
2
1
0
3
2
0
0
0
1
2
0
0
1
1
0
4
1
3
1
5
2
1
1
1
0
2
1
2
4
1
2
0
1
2
2
0
2
3
2
2
1
3
0
0
2
2
1
2
1
0
1
3
2
1
3
1
1
4
1
2
2
2
1
1
1
3
2
2
0
2
1
1
1
0
1
1
3
3
4
2
3
2
5
2
2
2
2
6
4
2
6
3
1
1
1
1
1
1
4
1
2
3
5
1
2
1
3
5
4
2
0
2
7
1
2
2
3
6
2
1
2
2
3
3
4
2
3
3
3
0
3
7
3
6
6
7
3
5
6
2
5
5
7
3
6
2
6
7
4
9
5
4
4
6
3
2
4
4
4
5
6
12
7
7
3
8
8
8
7
7
4
5
3
8
7
6
6
7
4
13
12
8
8
6
10
3
6
5
8
6
9
11
13
9
5
10
5
6
9
9
11
9
13
7
12
10
12
10
15
11
11
15
9
16
10
12
12
12
11
13
19
20
11
13
9
14
20
14
21
12
16
9
16
13
14
21
13
13
19
8
14
17
16
15
13
17
20
12
15
15
19
21
15
13
11
12
23
17
16
12
15
13
20
15
8
16
14
14
10
16
17
13
12
15
7
12
18
12
11
17
12
11
14
16
14
19
12
4
19
22
23
11
5
12
8
6
8
12
16
19
7
14
17
15
14
25
16
17
15
9
11
8
18
11
16
12
13
11
13
8
17
14
11
10
15
13
17
13
13
19
14
14
19
12
12
16
13
13
21
22
19
21
16
16
19
20
12
14
12
15
17
14
16
20
15
17
23
14
17
21
19
15
21
15
27
22
16
21
25
23
30
28
31
29
34
24
27
23
26
18
34
30
22
38
29
22
36
24
39
28
29
33
33
33
40
45
34
36
36
36
22
35
28
35
40
24
31
39
36
28
33
38
28
37
47
29
25
35
33
35
35
41
34
46
36
40
36
28
34
49
39
39
27
37
37
31
29
38
30
40
39
34
38
37
35
39
33
47
30
36
34
31
51
39
38
46
45
35
48
44
38
54
46
39
34
29
60
40
36
44
58
58
59
55
54
64
47
51
54
51
47
53
60
61
62
63
48
56
47
73
51
53
63
69
58
65
62
80
57
52
59
57
63
92
70
72
64
70
64
69
86
59
78
77
75
79
81
70
68
66
87
80
68
99
86
93
80
76
76
92
78
63
85
101
78
75
74
94
71
83
98
104
82
113
95
102
90
95
98
96
88
93
104
95
89
90
100
106
102
107
107
116
114
103
141
130
124
108
131
133
127
134
117
116
132
128
128
126
162
148
155
156
148
166
144
161
160
153
140
172
197
190
179
181
189
185
164
191
190
167
193
195
213
207
203
191
222
243
214
208
217
210
213
214
214
252
206
235
217
256
266
250
265
272
278
243
286
307
292
292
300
294
372
321
308
310
339
302
344
344
341
308
343
364
362
389
337
388
388
378
382
402
405
426
439
452
460
456
474
439
488
456
484
503
524
497
495
539
519
539
541
551
541
597
561
630
607
607
632
672
611
632
627
668
655
657
717
707
749
779
724
747
774
798
820
797
812
836
896
887
940
871
896
968
1030
994
1016
1058
999
1063
1112
1168
1152
1157
1127
1247
1263
1192
1229
1279
1285
1408
1416
1353
1428
1435
1479
1498
1484
1515
1597
1636
1699
1601
1721
1721
1816
1898
1838
1945
1887
2029
1963
2109
2155
2214
2286
2258
2336
2543
2627
2580
2717
2798
2846
2989
3092
3142
3376
3469
3421
3577
3692
3904
4196
4501
4411
4698
4985
5174
5410
5647
6023
6405
6732
7069
7603
7886
8369
9001
9473
10056
10704
11367
12025
12287
12936
14068
14921
15611
16256
17282
17982
19056
19644
20635
21233
22270
22949
23929
24844
24902
26382
26837
27630
28060
28392
29182
29569
30632
30719
30798
31019
31253
31945
32235
32555
33209
33548
33842
34023
34729
34772
35217
35357
35681
36206
36292
36702
36879
37639
37754
37435
37258
36976
36633
36618
35798
35527
34865
34374
33220
32115
31135
29937
28965
27587
26113
24974
23880
22553
21067
20122
18534
17349
16351
15165
13996
13003
11947
10910
10137
9165
8381
7700
7042
6309
5745
4956
4500
3911
3511
3121
2676
2246
1871
1682
1382
1230
967
805
657
506
418
343
288
208
181
120
87
88
62
39
38
28
28
25
13
4
10
16
16
10
14
8
8
14
13
13
10
17
12
13
20
16
22
31
26
13
20
17
24
24
28
19
21
25
31
39
30
19
43
35
36
36
46
37
41
64
33
53
47
46
49
48
50
42
63
53
45
42
66
56
58
44
63
72
49
67
66
44
56
64
56
47
41
42
42
41
42
43
34
35
29
30
38
36
31
24
20
15
22
9
16
20
12
5
7
8
8
4
10
10
0
4
1
3
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
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
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
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
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
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
1
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
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
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
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
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
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
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
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
0
1
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
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
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
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
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
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
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
1
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
0
0
0
0
1
0
1
0
0
1
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
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
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
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
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
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
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
2
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
1
0
0
1
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
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
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
2
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
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
1
0
0
0
2
0
0
1
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
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
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
0
0
0
0
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
1
0
0
0
1
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
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
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
1
0
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
1
0
0
1
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
1
0
0
1
0
0
1
0
0
1
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
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
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
0
0
0
0
0
1
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
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
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
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
1
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
1
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
1
2
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
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
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
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
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
1
0
0
0
0
0
1
0
0
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
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
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
1
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
1
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
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
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
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
1
0
0
0
0
0
0
0
0
0
1
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
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
0
0
0
0
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
2
0
0
0
0
0
0
0
1
0
0
0
1
2
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
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
1
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
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
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
0
0
0
0
0
0
1
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
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
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
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
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
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
0
0
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
1
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
1
0
0
0
0
0
0
1
0
0
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
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
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
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
2
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
1
0
0
1
0
0
0
2
0
0
0
1
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
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
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
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
2
0
2
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
2
0
1
0
1
0
1
1
4
0
2
0
0
2
1
3
0
1
3
2
1
1
4
2
2
1
1
2
3
3
2
1
4
0
1
1
2
1
1
2
2
4
2
1
1
1
3
2
3
2
2
5
3
3
5
0
5
3
1
1
2
1
2
1
3
2
1
2
2
4
1
1
1
2
2
5
2
1
0
0
2
3
1
1
1
2
0
0
0
2
0
0
1
1
1
1
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
4
0
0
1
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
1
0
0
0
0
2
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
1
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
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
1
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
0
0
0
0
0
1
0
2
0
0
1
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
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
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
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
1
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
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
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
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
2
0
0
0
1
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
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
1
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
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
0
1
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
1
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
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
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
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
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
1
0
0
0
0
1
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
1
0
0
0
0
0
1
2
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
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
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
0
0
0
0
0
0
1
1
0
1
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
2
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
1
1
0
1
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
0
0
0
0
1
0
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
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
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
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
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
1
1
0
0
0
0
1
1
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
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
2
1
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
1
1
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
1
0
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
2
0
1
0
1
0
0
0
1
1
1
0
0
1
2
1
0
0
0
0
0
3
0
0
0
1
1
0
0
0
2
2
0
0
0
0
0
2
0
0
0
0
0
2
1
0
1
0
1
0
2
0
1
0
0
0
0
0
1
1
1
1
1
0
2
2
0
1
1
1
3
0
3
0
1
3
6
2
2
2
2
1
6
2
0
2
0
1
5
7
4
5
4
7
3
7
7
4
2
6
13
6
12
5
4
6
9
7
11
10
10
14
11
5
6
11
8
11
10
10
11
7
15
10
7
9
5
11
12
12
6
14
11
7
13
10
11
7
7
13
13
15
17
12
8
14
18
5
8
14
9
8
10
9
10
7
9
8
7
6
3
8
7
9
8
7
5
7
4
1
6
4
3
2
0
1
0
5
4
3
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
2
0
0
0
1
0
0
2
0
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
2
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
1
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
1
0
0
2
1
0
0
1
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
1
3
0
2
1
1
0
2
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
2
1
0
0
3
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
2
0
2
0
0
0
0
1
0
1
0
1
0
0
3
0
0
0
2
0
0
0
1
0
0
1
1
0
2
0
0
0
2
1
0
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
0
1
0
1
0
1
1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
1
0
1
2
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
3
0
2
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
2
0
0
1
0
0
1
0
0
0
1
1
0
0
0
2
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
1
2
0
0
0
0
1
0
0
0
2
1
0
1
1
0
2
0
0
0
0
0
2
0
0
1
0
0
4
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
2
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
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
1
0
2
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
2
0
0
1
1
0
2
0
0
0
1
2
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
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
2
1
0
0
0
0
0
0
0
2
0
3
1
0
0
0
1
0
2
1
1
1
1
2
1
3
0
1
1
1
1
3
3
1
2
3
2
0
1
1
1
1
1
2
1
1
3
1
1
1
5
3
1
2
3
6
0
3
3
2
6
5
4
2
4
2
7
7
4
5
4
5
5
5
4
3
2
2
6
7
5
1
2
5
9
2
5
9
7
9
7
2
9
3
11
6
7
7
7
7
7
10
13
5
3
7
7
6
7
8
2
4
9
6
3
5
1
2
3
3
4
10
7
2
5
7
4
2
2
2
1
2
5
7
2
4
3
4
3
3
3
0
2
2
3
1
1
0
1
1
0
0
1
1
0
0
2
2
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
3
0
1
0
1
1
0
5
1
0
1
0
0
1
0
1
1
2
0
0
2
0
0
1
0
1
1
0
3
0
1
3
1
0
3
1
3
0
3
1
1
1
1
3
2
1
2
1
2
6
4
4
3
6
3
4
4
3
5
4
0
5
6
5
7
4
4
4
2
4
4
4
3
4
3
9
0
4
5
7
6
6
9
2
7
2
4
5
1
7
4
3
0
1
1
2
6
2
2
3
1
4
1
