0
4
4
7
6
7
5
8
3
2
1
5
1
3
2
2
2
3
3
2
4
0
2
2
1
2
0
2
1
4
0
3
0
4
1
4
0
2
2
1
3
0
0
0
3
0
0
2
1
3
0
2
2
4
2
0
3
1
2
0
0
3
1
1
1
0
0
0
1
1
1
1
2
0
4
1
2
2
3
2
1
1
0
0
2
2
2
1
2
0
3
2
2
0
2
1
0
2
1
1
0
1
1
2
0
2
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
2
1
2
0
2
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
2
2
2
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
3
0
2
1
1
0
2
0
1
2
0
0
0
0
0
1
2
2
0
1
0
0
0
1
0
0
0
1
1
2
0
0
1
2
0
0
0
0
1
1
2
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
2
1
0
0
2
1
0
3
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
1
1
0
1
0
0
0
3
0
1
0
1
0
1
0
1
1
0
0
1
0
0
2
0
0
1
0
1
1
0
0
0
0
2
0
1
1
0
2
0
1
1
0
3
2
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
3
2
1
0
1
0
1
0
1
1
2
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
2
1
1
0
0
0
0
0
0
0
0
0
2
2
0
0
1
1
0
1
0
0
0
0
1
1
4
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
2
1
0
0
2
2
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
0
1
2
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
2
2
0
0
2
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
2
1
2
1
0
1
2
1
2
2
0
0
0
1
1
0
0
1
0
1
3
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
3
1
2
0
1
1
0
2
0
0
0
0
0
0
2
0
1
4
1
1
0
0
0
2
0
0
1
0
1
1
0
0
1
1
0
0
0
1
2
2
0
1
0
1
1
3
0
1
0
1
1
5
1
0
2
1
2
3
1
3
3
0
0
0
1
3
1
4
0
3
1
2
0
0
0
0
0
0
3
1
1
2
0
0
1
0
1
1
2
3
2
4
1
1
0
1
1
2
0
0
2
2
2
1
2
1
1
6
1
3
2
2
4
6
2
3
3
2
4
5
1
7
7
0
4
1
4
2
4
1
2
6
5
5
4
3
1
3
0
7
3
0
1
1
6
3
4
2
5
3
6
5
1
5
1
4
7
9
4
6
6
5
5
9
4
4
7
8
3
3
4
7
5
15
10
5
5
9
5
3
6
11
5
8
5
7
7
6
11
8
11
13
6
12
10
10
8
6
7
9
4
8
7
9
4
9
8
8
14
15
11
15
18
15
21
11
11
7
15
12
18
15
26
15
15
23
11
16
19
22
31
19
15
18
27
22
30
17
25
27
33
32
41
30
29
29
28
30
44
39
47
46
56
44
62
68
68
64
79
70
71
81
70
75
102
88
86
91
111
68
100
102
101
107
105
92
114
119
96
97
133
139
125
132
124
120
138
125
126
113
131
129
134
115
140
134
145
137
146
160
156
145
130
150
138
128
127
135
125
110
127
124
102
114
101
93
97
73
104
93
77
66
76
65
51
53
45
38
42
34
24
27
25
38
22
14
15
19
15
10
16
11
6
9
7
4
10
6
4
1
0
4
2
0
2
1
1
1
1
3
1
1
1
2
1
0
1
1
1
2
1
1
0
3
0
2
0
0
1
0
2
1
1
2
1
2
1
1
1
0
1
2
0
0
0
1
4
2
0
1
0
0
1
1
0
0
1
2
2
0
0
2
3
1
1
1
3
0
2
3
0
4
2
1
2
3
0
6
1
2
1
1
2
1
2
4
3
0
1
1
5
2
2
0
2
1
0
3
1
3
3
0
3
1
2
1
3
2
2
3
2
3
3
1
0
4
1
1
1
1
1
5
3
4
0
2
5
1
3
3
4
4
2
4
1
8
5
3
5
1
4
2
4
1
3
1
3
5
5
2
5
2
0
1
3
5
3
6
3
4
3
5
4
3
5
2
3
3
6
3
3
4
4
4
8
5
2
3
6
10
6
8
3
10
9
8
7
5
6
6
12
6
7
8
15
9
10
10
11
11
7
17
8
11
12
11
20
10
15
12
20
3
14
11
15
19
15
19
33
24
30
27
29
26
20
40
41
37
30
40
28
34
39
36
32
38
45
37
32
42
28
38
30
40
43
59
51
42
39
53
53
51
56
52
42
50
51
51
50
60
62
61
66
50
40
60
48
53
52
51
48
45
42
46
44
53
46
39
34
39
40
43
36
37
34
30
18
26
37
26
24
23
23
23
13
15
23
19
14
18
12
14
16
11
12
13
10
11
9
11
8
11
9
10
5
8
14
8
6
6
13
6
8
10
10
6
3
8
7
2
6
8
11
10
8
9
6
2
12
9
8
4
8
6
4
12
16
12
9
5
14
10
6
8
9
8
5
9
7
6
11
6
8
11
10
9
8
8
13
11
13
9
11
9
12
12
12
13
9
16
12
9
14
16
15
11
18
17
11
23
15
18
17
18
19
22
23
25
24
25
34
21
30
19
34
34
24
25
28
36
40
40
40
33
40
36
50
30
30
33
33
42
41
36
30
45
27
42
41
37
44
43
35
39
52
34
39
41
42
37
46
52
43
43
50
49
49
34
42
44
41
41
47
39
36
35
33
41
40
37
44
45
38
44
41
43
54
57
46
40
46
59
48
51
49
59
69
70
63
61
82
75
88
75
91
99
90
96
114
119
109
127
94
116
130
151
134
132
142
149
166
153
180
149
174
179
151
174
178
174
167
169
214
201
210
182
191
197
204
177
200
191
194
196
204
207
195
211
198
236
213
212
217
235
197
193
176
166
187
170
187
173
190
139
148
130
137
135
118
111
124
98
98
103
104
84
70
78
66
68
47
67
59
42
36
48
30
37
30
21
23
17
18
16
15
10
10
12
9
8
6
4
4
4
3
6
3
0
4
1
1
3
0
5
1
0
1
0
2
0
0
1
0
2
0
0
2
0
0
3
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
3
0
0
1
1
1
1
1
0
1
0
0
0
3
0
1
2
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
2
1
2
0
0
1
1
0
0
1
0
0
0
2
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
2
0
1
0
2
0
0
1
2
0
0
2
0
2
1
0
1
2
0
1
2
1
2
2
1
1
0
1
1
0
3
0
0
1
1
1
0
1
1
0
3
0
1
0
1
0
0
1
1
0
1
2
1
1
1
0
2
0
1
2
0
1
4
0
1
0
0
1
4
1
2
1
0
0
0
1
2
2
1
3
0
2
0
0
2
1
2
0
2
0
3
1
0
0
1
1
2
1
1
0
1
2
2
1
0
0
1
2
2
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
2
1
1
0
4
1
0
1
1
4
0
1
2
1
5
2
1
3
0
1
3
2
2
1
3
1
1
1
5
1
1
0
1
1
2
4
1
1
0
0
1
1
2
1
5
3
1
2
4
2
1
2
1
2
2
0
1
2
2
2
3
5
1
3
3
0
3
2
1
2
3
3
1
0
2
4
3
2
1
4
2
0
3
2
3
2
1
0
5
1
1
2
3
2
4
3
2
1
3
3
2
4
2
1
4
1
6
1
2
5
3
7
4
1
1
4
1
1
2
4
4
3
1
1
1
1
2
5
2
2
3
2
3
5
6
4
4
3
3
2
2
5
4
5
5
0
1
2
2
2
5
5
3
3
9
6
3
4
7
3
7
7
4
2
6
1
2
5
7
3
3
4
4
5
2
4
3
5
3
2
4
2
6
3
3
4
4
2
3
2
3
2
7
6
4
0
4
3
4
3
9
2
4
0
1
1
1
2
4
2
3
2
4
5
3
0
2
3
3
1
3
1
2
5
1
6
2
2
4
1
1
3
0
2
3
2
1
4
1
0
5
3
1
2
2
3
5
3
2
2
1
4
0
3
0
3
2
5
2
1
3
3
2
2
3
2
7
3
1
3
4
2
1
3
2
2
2
2
2
4
2
0
2
4
2
5
2
2
2
4
4
2
1
2
2
4
2
2
4
1
4
2
1
6
3
3
5
3
6
5
3
6
4
4
4
7
5
5
5
2
5
3
4
1
2
4
5
3
4
5
4
5
5
3
2
9
4
7
6
0
5
4
4
6
2
6
5
6
7
4
6
4
2
5
3
6
7
8
7
0
5
6
9
4
5
7
5
8
8
5
10
6
6
10
7
10
18
9
5
12
5
8
5
5
7
5
6
3
12
7
8
6
12
7
14
10
11
10
17
17
11
17
8
8
11
10
14
10
19
11
16
10
14
10
21
11
12
19
17
6
11
11
19
16
19
23
14
19
26
12
12
14
12
19
15
11
15
18
21
30
19
13
28
23
27
25
15
22
14
18
15
17
16
24
27
21
19
24
23
22
21
31
18
22
26
20
23
22
24
26
27
19
26
27
30
25
26
27
26
33
14
20
28
20
32
16
25
23
16
23
20
23
22
21
23
34
22
25
25
33
20
31
27
31
29
17
18
22
15
40
23
20
20
17
29
19
12
22
23
16
30
18
17
23
21
17
16
19
12
21
22
17
21
27
26
25
17
17
20
19
25
17
23
15
22
19
11
26
23
16
19
26
27
23
20
24
16
30
18
32
32
23
30
24
26
29
30
26
25
34
27
25
20
27
35
26
32
31
25
36
22
35
41
22
32
37
35
42
48
32
41
39
39
29
28
32
37
30
38
46
37
40
40
45
45
46
55
38
57
50
39
43
46
52
47
49
54
58
60
51
37
46
57
53
64
43
63
50
61
64
39
54
57
42
57
44
57
55
43
60
70
55
53
53
50
51
59
51
59
66
76
56
49
60
57
57
51
59
63
67
51
58
59
61
48
60
67
49
50
44
59
59
72
50
57
67
67
57
58
56
61
51
58
75
61
59
68
58
65
64
56
68
74
74
83
97
73
78
79
82
85
71
94
78
73
85
83
86
81
99
80
77
115
83
99
77
95
98
97
81
88
116
114
114
106
96
95
98
121
90
119
112
113
100
92
107
128
107
155
129
138
134
119
140
117
127
113
141
136
122
126
141
122
118
144
133
124
123
145
118
126
129
158
140
138
127
150
166
143
140
166
126
158
138
153
179
173
177
157
161
193
173
158
168
155
153
169
174
175
181
196
168
201
181
184
194
207
220
201
185
230
218
269
240
187
222
217
213
233
245
253
230
235
264
258
259
251
265
299
263
268
280
285
299
263
287
272
305
294
321
337
304
310
330
342
336
325
333
347
365
333
396
383
343
350
397
382
435
397
369
390
410
457
430
423
403
451
437
459
445
453
446
486
483
528
525
506
523
517
546
572
537
595
562
589
550
640
612
629
637
672
668
650
652
735
719
688
789
747
726
756
767
785
736
803
828
805
827
878
897
892
918
877
937
969
978
965
1002
993
1065
1036
1027
1017
1071
1133
1144
1195
1161
1140
1244
1208
1237
1348
1265
1257
1336
1399
1401
1384
1481
1429
1495
1543
1525
1550
1636
1657
1664
1804
1735
1741
1778
1805
1953
1876
1948
2035
2050
2063
2078
2103
2178
2201
2291
2285
2316
2311
2521
2574
2516
2557
2578
2799
2797
2841
2823
2970
3080
3116
3211
3396
3354
3462
3479
3594
3821
3763
3945
4020
4281
4496
4685
4689
4808
5071
5329
5426
5667
6021
6270
6407
6895
7112
7697
8030
8284
8725
9462
9886
10335
11078
11666
12143
13191
13701
14389
15189
16085
17047
18011
18987
19982
20684
21879
23307
23881
24790
25761
27036
28208
29390
30082
31085
31464
32791
34081
34669
35364
35663
35936
36685
37817
38337
39017
39790
39833
40227
40359
40891
41388
42124
42730
42419
43123
43575
44081
44553
45154
45619
46071
45493
46262
46933
46381
46710
46335
46354
45943
45021
44943
43795
43408
42496
41470
39899
38897
37253
36158
34969
33062
31166
29612
28553
26347
25148
23314
21996
20644
19094
17714
16211
15038
13913
12792
11678
10715
9652
8902
7909
7091
6365
5645
4941
4349
3914
3345
2897
2445
2083
1767
1579
1357
1053
895
717
619
478
389
319
186
184
147
90
83
61
49
40
31
17
16
20
25
13
23
14
15
26
21
19
24
29
23
31
18
31
34
27
17
22
32
39
23
32
32
34
33
41
39
30
47
55
43
45
60
57
50
47
55
46
65
66
52
76
67
70
73
80
83
81
82
100
72
105
90
83
102
93
85
92
88
102
114
83
85
90
72
76
89
84
63
73
68
80
45
67
67
49
55
47
44
35
44
42
24
24
24
28
24
8
13
12
13
8
4
4
7
1
4
1
2
1
2
2
1
3
0
1
1
0
0
3
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
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
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
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
2
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
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
1
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
1
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
1
0
0
0
1
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
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
1
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
1
1
1
0
0
0
0
0
0
1
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
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
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
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
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
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
1
0
0
0
0
0
0
0
0
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
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
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
0
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
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
1
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
0
1
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
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
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
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
2
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
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
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
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
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
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
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
1
0
0
0
0
0
1
0
1
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
0
0
0
0
0
0
0
0
0
1
1
0
1
1
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
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
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
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
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
1
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
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
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
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
1
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
0
0
2
0
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
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
2
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
0
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
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
1
0
0
0
0
0
0
0
0
0
1
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
2
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
1
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
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
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
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
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
2
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
1
0
1
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
1
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
1
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
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
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
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
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
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
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
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
1
1
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
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
0
0
0
1
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
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
1
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
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
1
2
0
0
0
1
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
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
0
0
0
0
0
0
0
1
1
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
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
1
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
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
2
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
0
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
1
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
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
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
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
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
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
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
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
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
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
1
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
0
1
1
0
0
0
0
1
0
3
2
0
0
1
2
0
0
0
0
0
2
2
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
4
0
0
0
0
1
1
3
0
2
1
0
1
3
1
0
1
0
0
1
1
0
1
0
0
0
2
2
1
3
1
1
0
1
0
0
0
1
0
1
0
0
0
1
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
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
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
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
1
0
0
0
0
0
1
0
0
0
1
1
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
0
1
0
0
1
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
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
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
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
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
0
0
0
0
1
0
0
0
1
1
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
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
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
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
1
0
0
0
1
0
0
0
1
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
1
0
1
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
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
2
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
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
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
1
0
1
0
0
1
1
2
0
0
0
0
1
0
0
1
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
1
1
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
0
0
1
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
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
1
0
0
0
0
0
0
1
0
2
2
0
0
0
0
1
2
1
1
0
0
0
1
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
1
1
0
1
2
0
0
3
0
0
1
0
1
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
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
1
0
1
0
0
0
0
1
1
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
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
2
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
2
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
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
0
0
0
1
0
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
3
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
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
1
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
0
0
0
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
1
2
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
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
2
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
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
1
0
0
0
0
1
0
3
0
0
0
0
1
0
0
1
2
0
1
0
0
0
0
0
1
0
1
0
0
0
2
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
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
1
0
0
0
0
0
0
0
2
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
1
0
0
0
1
0
1
1
0
2
0
0
0
1
0
0
0
1
2
0
0
0
1
1
1
0
0
0
0
0
0
1
2
0
1
0
1
1
1
0
3
1
0
1
2
1
0
0
1
1
1
1
2
0
3
2
0
0
0
3
0
1
0
0
1
0
1
0
3
0
1
2
1
0
2
1
1
1
2
0
0
3
1
2
0
1
1
1
0
1
2
0
2
0
1
0
0
1
0
3
1
5
0
1
2
3
0
0
1
2
3
0
2
2
4
2
1
1
1
2
0
2
4
4
0
2
1
1
8
2
2
4
4
1
5
4
3
2
3
10
5
4
5
10
7
7
5
8
5
16
11
9
11
5
12
7
13
12
9
14
17
16
14
7
23
12
11
23
21
19
19
24
18
14
22
12
15
22
27
28
27
19
16
21
29
19
18
16
23
29
27
27
28
26
23
25
21
23
20
21
32
17
22
21
25
23
24
19
22
23
13
22
15
17
17
22
16
11
15
16
15
11
6
5
9
6
8
7
7
5
5
5
4
3
5
7
2
3
2
1
2
1
3
1
0
1
0
0
1
0
0
2
0
0
1
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
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
1
0
0
0
0
2
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
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
2
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
2
0
0
0
1
0
1
0
2
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
3
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
1
0
0
2
0
0
1
0
0
0
0
1
0
3
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
3
1
1
0
1
0
0
2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
2
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
3
0
1
2
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
2
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
3
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
2
1
0
0
1
0
1
0
1
0
0
3
0
3
2
1
2
0
1
1
0
0
0
1
2
0
2
0
0
0
0
0
0
2
0
4
2
0
1
0
0
2
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
2
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
0
1
0
0
1
0
0
0
0
0
1
1
0
2
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
3
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
2
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
3
0
0
1
0
2
1
1
0
0
2
2
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
3
1
0
2
1
1
0
0
1
0
0
2
1
1
0
0
0
0
1
1
2
1
1
0
2
1
1
1
1
0
1
0
4
2
1
2
3
4
4
2
2
2
3
7
3
2
5
4
1
3
3
0
7
5
5
4
1
5
4
4
2
2
4
6
4
8
4
2
3
5
10
5
6
6
3
9
4
10
3
5
8
4
4
9
9
7
12
5
8
11
15
13
7
13
11
5
8
4
4
10
9
12
12
2
8
8
4
7
7
8
8
9
6
7
7
10
8
4
7
7
7
6
9
4
5
6
5
5
7
1
4
1
6
2
6
4
5
3
1
5
3
1
4
5
2
1
2
2
4
2
1
4
1
0
1
0
2
0
1
0
3
0
1
1
0
0
0
0
2
0
0
0
0
2
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
2
1
1
1
1
1
0
0
0
0
1
0
0
0
2
0
0
1
1
3
3
3
1
1
1
0
1
2
1
2
2
3
1
1
2
1
0
2
1
3
4
4
4
4
0
1
2
2
3
2
2
4
3
5
7
3
1
4
3
5
5
4
7
4
2
6
3
5
8
2
5
5
3
0
3
3
7
8
4
6
3
7
3
6
3
7
8
3
10
5
5
3
5
4
7
4
11
3
5
3
5
7
4
