0
1
2
2
1
1
1
0
0
0
1
2
0
1
1
1
0
1
1
0
0
1
3
0
0
0
0
1
0
1
0
1
0
2
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
2
0
0
1
0
0
0
1
0
0
0
0
0
0
1
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
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
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
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
1
0
1
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
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
0
0
0
0
0
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
1
1
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
1
0
0
0
0
1
0
0
0
0
0
1
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
1
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
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
2
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
3
0
1
0
1
0
1
0
1
0
0
0
2
2
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
2
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
2
0
0
0
1
0
1
1
0
1
2
0
0
0
0
2
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
2
0
0
0
1
1
0
2
1
1
0
2
1
3
0
0
0
0
1
1
3
0
3
2
2
2
0
1
1
2
2
0
2
3
1
2
3
0
3
3
1
2
2
0
1
2
2
1
3
3
1
3
3
3
1
1
2
5
1
2
4
3
5
1
0
4
4
2
2
3
5
3
3
1
5
5
1
3
5
2
1
0
5
2
5
2
2
8
5
4
4
4
8
5
2
3
3
4
4
4
4
2
8
2
4
3
3
5
7
3
3
4
10
9
4
7
8
4
11
8
6
5
4
6
5
6
6
7
11
7
10
6
8
4
4
5
9
4
12
6
9
8
15
16
13
7
10
16
20
14
13
14
16
14
13
9
12
11
16
16
17
22
17
22
11
12
16
17
22
18
23
39
23
29
32
39
39
42
39
48
47
39
46
45
42
54
59
57
53
67
78
78
79
82
98
95
98
108
108
122
103
110
124
136
152
138
150
133
175
174
165
186
171
156
151
178
207
182
208
199
212
212
185
216
223
220
246
199
249
216
256
227
253
242
222
215
211
265
249
203
230
195
229
206
200
222
197
222
201
201
200
193
202
190
181
167
149
141
137
155
130
129
102
90
94
83
83
79
82
60
58
63
41
49
36
39
31
25
20
19
23
25
21
14
11
10
10
10
7
13
4
6
3
5
2
4
3
0
1
0
1
1
1
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
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
2
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
2
0
0
0
1
0
2
1
0
0
1
1
0
2
0
1
0
0
0
2
0
0
2
0
2
0
0
1
1
1
3
1
0
0
0
1
1
1
0
2
0
0
0
0
0
1
1
0
0
1
3
1
1
2
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
2
1
2
2
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
2
2
2
2
2
2
1
4
2
3
2
3
2
3
1
4
1
2
2
3
3
2
2
3
9
4
6
4
1
5
5
6
3
10
8
4
6
10
8
12
5
9
5
8
11
7
16
5
11
8
12
6
15
16
12
7
14
9
6
19
11
15
11
11
14
11
15
12
12
11
15
17
18
11
13
17
10
20
14
6
14
20
8
16
11
10
12
8
12
13
14
7
9
9
10
16
12
10
7
11
11
8
5
8
12
6
9
7
5
9
4
5
4
3
5
6
3
3
1
3
5
1
2
3
0
0
2
2
2
4
1
1
4
1
2
1
4
0
2
1
3
0
1
1
0
2
0
3
2
2
2
0
1
0
1
0
0
1
2
0
0
0
1
1
4
0
4
2
3
1
5
0
0
2
2
2
1
0
1
1
4
2
0
2
1
1
2
1
1
3
2
5
2
2
5
2
1
4
4
1
3
2
2
5
3
3
6
5
1
3
7
4
3
13
3
4
10
6
7
10
9
6
5
4
7
8
4
9
10
8
13
5
14
8
10
8
12
17
14
10
11
8
12
7
11
6
9
9
16
12
16
10
12
12
13
15
17
10
16
13
11
13
13
15
8
13
10
9
11
6
9
8
8
15
8
12
7
12
15
8
15
14
9
14
11
8
7
18
12
28
20
17
23
20
27
22
30
22
16
27
21
27
34
37
32
25
31
40
30
49
34
39
40
49
36
53
44
31
45
51
41
47
54
65
62
48
60
56
55
55
65
61
51
60
61
61
63
63
73
54
65
66
52
66
67
61
58
61
67
59
74
62
52
51
66
49
57
53
52
49
37
56
42
37
44
47
31
26
29
33
20
23
22
21
16
19
16
19
22
20
13
11
11
8
11
3
9
11
5
5
2
3
4
5
0
1
1
3
2
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
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
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
2
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
1
0
1
0
2
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
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
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
3
0
0
1
1
0
0
2
0
0
1
2
2
0
0
0
0
1
0
0
0
2
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
2
1
0
1
1
1
1
1
2
0
0
2
0
1
1
0
1
1
0
0
0
0
0
2
0
0
0
1
1
0
0
2
0
0
3
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
2
0
1
0
0
0
0
3
0
0
1
2
0
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
2
1
1
1
2
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
2
0
0
3
1
1
2
0
1
1
0
1
1
0
0
1
1
1
2
1
1
0
1
2
0
3
1
2
1
6
0
0
0
1
5
1
0
3
1
1
2
2
0
1
3
2
2
3
0
2
3
2
0
1
0
1
0
2
2
2
2
0
2
1
4
1
2
2
2
1
1
1
2
0
2
2
7
3
1
1
4
4
3
1
3
4
2
6
0
4
2
2
5
3
2
4
1
3
5
1
2
5
0
2
1
0
2
3
5
2
1
1
1
1
0
3
8
1
2
1
1
5
4
5
3
3
2
6
1
2
2
4
3
2
4
2
3
2
2
3
5
3
1
3
4
4
2
2
1
5
2
2
3
0
0
1
4
3
6
3
3
2
2
3
0
3
2
4
5
5
3
8
5
5
1
3
4
3
2
6
3
5
3
7
5
1
1
3
5
4
1
1
3
2
7
3
4
5
7
1
4
3
2
2
2
4
2
4
3
4
2
3
2
2
2
6
4
5
4
10
7
3
3
4
6
4
0
3
5
7
2
5
3
6
3
7
4
7
3
8
4
7
8
5
5
4
7
7
6
9
10
5
7
2
7
8
7
3
6
8
8
3
3
6
7
6
3
4
7
5
3
2
13
10
11
5
9
6
5
12
3
10
5
7
5
6
4
7
10
11
5
7
5
4
7
9
11
6
6
7
6
4
7
8
6
10
8
11
1
10
10
10
6
5
4
13
3
10
12
11
9
10
12
14
8
17
8
8
10
16
10
9
7
9
12
14
11
13
8
17
10
12
9
8
9
11
7
19
11
18
15
9
14
13
14
13
19
20
13
17
14
19
17
21
14
20
19
17
18
15
17
12
19
22
17
17
13
27
20
19
24
14
13
22
22
25
12
25
12
16
14
17
21
27
17
19
17
19
21
15
21
18
18
15
22
14
23
22
22
22
32
17
21
26
17
23
39
30
21
25
22
26
30
31
31
21
18
35
33
24
23
30
36
31
17
39
35
31
36
32
35
38
42
35
41
65
40
50
35
40
34
40
37
44
48
51
55
52
40
55
48
61
59
47
61
33
50
51
50
51
62
64
58
50
61
49
53
57
67
59
58
68
74
80
67
71
61
62
60
85
82
60
82
77
88
82
88
89
97
107
81
105
103
120
125
99
102
105
105
112
98
127
92
128
118
143
126
123
137
126
121
116
134
146
143
153
147
146
138
153
134
158
146
152
181
156
170
174
188
191
181
217
183
194
220
195
208
207
202
225
217
217
229
258
238
241
219
262
252
249
255
251
255
271
259
255
277
282
339
308
302
325
341
309
340
360
364
351
362
390
425
399
361
396
344
445
424
433
448
460
461
468
514
502
531
509
542
567
558
609
567
612
626
584
709
696
661
736
719
721
816
846
880
899
917
968
1002
1019
1057
1056
1117
1130
1245
1315
1341
1391
1434
1574
1601
1584
1735
1861
1987
2034
2272
2331
2519
2621
2833
2940
3218
3434
3662
3850
4160
4333
4606
4997
5241
5340
5761
6186
6369
6621
7318
7515
7954
8135
8602
8865
9164
9823
9999
10249
10397
10772
11252
11328
11774
11821
12027
12473
12475
12811
12905
12809
13150
13342
13388
13488
13705
14042
13806
14011
14347
14471
14567
14944
14944
15085
15351
15431
15588
15516
15401
15638
15402
15436
15139
14960
14869
14522
14174
13817
13587
12928
12629
12017
11563
11074
10652
9887
9584
8810
8447
7962
7254
6943
6311
5966
5455
5162
4639
4236
3966
3622
3250
2886
2758
2425
2105
1956
1688
1538
1303
1148
961
814
724
657
519
445
345
304
228
184
140
114
103
57
54
48
27
21
14
16
8
8
5
4
2
1
2
5
2
0
2
5
1
1
2
3
4
1
2
3
2
1
4
7
2
4
6
1
7
3
4
5
2
2
2
4
4
4
10
5
4
5
4
6
6
5
3
8
4
12
7
11
3
8
6
6
17
9
8
13
15
6
10
9
12
9
14
6
11
13
11
12
7
3
9
10
12
10
7
6
7
3
6
6
6
1
3
1
4
7
0
5
6
2
2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
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
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
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
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
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
2
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
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
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
1
1
0
0
0
0
0
0
0
1
0
2
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
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
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
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
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
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
1
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
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
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
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
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
1
0
1
1
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
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
1
1
0
0
0
0
0
0
0
2
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
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
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
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
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
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
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
1
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
2
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
0
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
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
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
0
0
0
0
0
1
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
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
0
0
0
0
0
0
0
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
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
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
0
3
0
0
0
0
1
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
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
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
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
1
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
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
0
0
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
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
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
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
1
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
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
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
0
0
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
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
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
0
0
0
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
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
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
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
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
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
1
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
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
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
0
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
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
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
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
2
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
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
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
1
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
0
0
0
0
0
0
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
1
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
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
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
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
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
2
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
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
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
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
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
1
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
0
0
0
1
0
0
0
2
0
1
0
0
0
0
1
1
1
1
0
2
1
1
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
1
2
2
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
2
0
0
2
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
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
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
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
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
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
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
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
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
0
0
1
0
0
0
0
2
0
0
0
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
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
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
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
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
0
0
0
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
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
0
1
1
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
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
2
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
1
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
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
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
2
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
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
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
1
1
0
0
0
0
0
0
0
0
1
1
0
1
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
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
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
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
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
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
1
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
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
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
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
2
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
1
0
0
1
0
0
0
0
1
2
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
2
0
1
1
0
0
0
0
1
0
0
0
2
1
0
0
1
0
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
2
1
1
1
0
2
1
2
0
0
1
2
1
0
0
0
1
1
2
0
2
1
2
5
3
1
0
0
3
2
2
3
2
1
2
2
3
2
5
4
0
2
2
4
4
3
4
5
8
7
1
3
2
5
3
8
3
5
5
4
8
8
4
10
12
10
6
11
11
10
9
11
11
9
15
11
10
6
18
14
16
15
13
17
10
13
22
10
15
16
19
19
11
15
24
24
14
12
17
12
14
17
15
24
20
20
16
17
13
8
10
18
12
11
14
15
15
13
15
17
10
12
10
12
13
11
12
8
7
14
10
4
8
5
11
1
5
4
4
1
4
2
4
3
5
2
2
1
2
1
1
1
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
2
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
1
0
1
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
1
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
1
1
1
0
0
0
0
1
0
1
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
1
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
0
0
0
0
0
0
0
0
0
1
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
0
0
0
1
1
2
0
0
1
1
0
0
0
1
0
0
1
0
0
0
2
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
1
0
0
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
1
0
1
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
1
0
0
0
2
0
1
0
0
0
0
0
1
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
2
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
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
2
0
1
1
0
1
2
0
0
1
1
0
0
1
1
0
0
0
0
0
0
4
0
0
0
2
1
1
1
1
2
1
1
2
2
0
1
0
0
0
0
2
4
0
1
1
2
1
2
0
0
0
0
2
0
0
3
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
2
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
1
0
0
1
0
0
0
0
0
0
0
1
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
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
1
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
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
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
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
2
1
2
0
0
2
0
3
0
1
2
1
1
2
2
1
3
1
0
1
1
2
1
2
1
0
2
3
2
1
7
1
1
2
0
1
4
6
9
1
4
4
2
4
1
3
5
3
2
2
2
3
6
1
4
2
2
3
2
2
1
0
0
0
2
5
0
1
0
3
4
4
1
2
4
3
1
0
2
1
1
1
0
2
1
4
0
3
0
2
2
0
1
1
0
1
1
2
0
0
1
1
0
1
0
1
2
0
0
1
0
2
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
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
3
0
2
0
0
1
1
0
0
0
0
1
2
0
0
1
1
0
1
1
0
0
0
1
0
0
1
3
1
1
1
1
1
0
0
0
2
1
0
2
3
1
3
3
2
2
3
3
0
0
3
3
2
1
3
2
2
0
3
3
1
1
3
4
2
0
1
2
5
3
3
1
3
3
1
1
1
1
0
2
2
