3
4
2
4
5
3
2
3
6
3
4
2
2
4
0
1
3
5
3
3
2
4
0
2
3
4
2
2
0
2
2
0
2
0
4
1
2
0
3
1
0
2
1
1
1
1
2
2
1
2
2
1
0
0
2
0
1
1
2
0
3
2
1
0
2
1
1
0
3
0
2
1
1
1
2
0
0
1
0
2
2
0
0
1
2
1
0
1
2
1
1
1
1
0
3
0
1
2
1
0
2
2
1
1
2
0
1
2
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
2
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
2
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
2
0
1
4
0
1
1
1
1
2
0
1
1
0
3
1
0
3
1
0
0
2
0
0
0
0
0
0
1
1
2
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
2
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
3
1
0
1
0
0
0
0
0
0
2
0
0
2
0
0
0
0
1
1
1
0
0
1
3
0
1
3
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
2
3
1
0
1
0
1
0
1
1
0
1
0
1
2
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
2
2
3
0
0
2
0
2
0
1
1
0
1
0
2
0
0
0
0
1
2
1
1
0
0
0
0
0
0
2
0
1
0
1
1
0
3
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
2
2
0
0
0
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
2
0
0
0
0
0
1
0
0
2
1
2
0
2
0
0
1
1
2
0
0
0
2
2
1
0
2
0
0
0
0
1
0
0
2
0
0
1
0
0
0
1
1
0
0
0
2
0
0
1
0
0
1
0
0
1
1
1
3
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
2
1
0
2
1
1
0
0
0
1
0
1
2
3
0
2
1
0
1
0
1
0
1
1
0
2
0
1
2
0
1
0
1
1
0
1
0
0
1
0
0
4
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
2
1
2
0
0
1
0
1
0
0
0
1
0
3
2
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
2
1
1
0
1
1
2
0
0
0
0
2
3
1
0
2
2
0
0
0
1
0
0
0
2
1
1
0
0
1
3
1
1
2
1
1
1
1
3
3
1
2
2
3
1
0
0
0
1
1
0
1
2
0
1
2
2
1
2
1
3
3
1
1
3
1
1
2
0
1
4
2
3
2
0
1
1
1
2
1
1
1
2
2
4
3
1
4
4
3
3
2
2
3
2
5
4
5
2
3
4
2
5
5
3
2
3
6
2
2
4
5
6
4
4
2
4
3
8
5
4
4
6
0
6
4
6
3
7
5
6
7
2
4
7
5
6
4
8
8
4
5
8
4
6
9
5
3
3
8
6
10
9
8
8
10
13
6
13
5
3
9
11
13
7
11
15
8
16
9
13
16
13
10
13
12
17
12
12
9
17
15
18
16
13
14
21
13
17
13
12
16
16
24
13
24
16
14
26
13
12
13
13
21
22
28
25
20
29
29
31
27
26
31
26
40
26
44
45
46
40
39
42
41
45
51
52
38
41
58
46
60
54
69
53
60
62
73
62
76
77
71
83
76
74
79
74
74
98
99
94
94
91
97
85
87
95
91
95
98
88
93
106
91
110
95
97
91
86
110
100
100
108
99
98
83
109
115
87
102
85
85
89
94
93
74
76
77
61
59
57
75
57
52
43
42
46
45
35
43
25
24
28
25
34
23
18
17
15
11
12
11
10
8
5
9
6
5
4
1
6
2
2
1
2
4
2
3
1
1
2
1
3
0
1
1
0
0
1
2
1
1
2
1
1
0
1
1
2
1
1
4
0
1
1
2
0
0
1
1
1
2
4
2
2
3
0
1
4
0
4
1
4
0
1
3
1
3
2
1
2
2
2
0
1
4
1
1
1
2
1
0
2
2
2
3
2
1
1
1
0
5
1
1
0
3
1
4
0
0
2
4
1
2
0
3
5
0
2
3
3
0
0
2
2
3
4
4
2
6
1
3
3
2
4
0
1
4
3
0
3
3
5
4
4
4
4
0
0
3
1
1
1
2
0
6
2
5
1
3
7
5
3
4
4
10
5
5
7
2
4
5
4
4
1
3
1
5
4
1
4
7
6
1
1
14
6
7
5
6
6
8
2
6
6
5
5
11
7
5
9
9
6
10
8
8
4
8
4
11
9
7
8
14
3
10
7
6
8
12
12
14
9
12
14
19
18
7
15
15
22
17
22
18
22
16
19
28
27
27
33
25
38
35
35
28
35
36
38
26
42
36
41
33
36
36
37
38
55
46
34
53
52
38
39
54
43
54
49
61
49
46
51
56
46
41
57
52
51
58
53
58
54
62
54
69
62
46
52
43
51
52
49
39
42
47
41
37
45
33
31
32
47
26
37
37
35
35
28
28
25
36
13
19
22
14
22
24
16
11
10
19
16
10
14
19
13
10
10
20
13
8
14
6
11
12
6
12
2
9
15
9
5
10
4
3
12
8
8
11
8
5
6
6
7
8
5
13
7
7
5
5
5
13
7
11
13
10
8
13
11
6
11
13
4
9
10
8
9
15
12
9
10
10
11
4
12
8
13
13
10
8
9
12
15
12
12
12
20
13
15
21
17
19
17
18
14
18
22
23
26
7
22
28
24
23
19
24
30
30
27
26
29
31
26
24
25
29
37
30
42
31
44
33
34
44
40
46
36
45
43
39
51
44
45
35
50
49
41
43
46
55
36
45
54
45
54
49
50
44
53
58
37
55
48
40
46
36
44
47
34
40
52
58
30
52
42
58
47
46
42
52
55
55
45
48
49
47
39
50
82
66
63
44
65
67
73
90
79
87
102
97
83
112
104
107
130
121
118
118
107
112
137
166
146
163
159
153
167
151
161
190
175
178
196
187
187
178
215
194
202
212
206
207
189
233
211
204
233
216
236
217
227
237
232
266
227
243
222
220
228
226
221
209
219
199
204
188
196
156
186
169
167
152
173
152
135
140
119
127
124
121
104
84
90
98
93
75
69
70
51
45
51
57
37
36
22
24
24
32
25
17
24
17
15
12
12
3
6
8
6
4
2
2
4
4
4
3
1
0
4
3
2
1
0
1
1
1
0
0
0
0
2
1
1
1
1
0
0
0
0
0
1
0
2
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
2
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
2
1
1
0
1
2
2
1
0
0
2
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
2
0
0
0
1
0
0
0
2
1
1
0
1
0
4
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
2
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
3
1
1
2
2
0
0
0
1
0
1
1
1
0
0
1
1
0
3
0
2
1
2
1
1
2
0
1
0
0
0
0
0
0
2
1
1
1
1
1
1
0
1
0
1
1
0
0
2
0
0
0
0
1
0
3
0
1
1
3
3
0
1
0
1
2
0
1
3
0
3
2
1
3
0
2
1
3
1
1
0
1
1
2
0
0
2
1
2
0
1
2
0
2
3
0
0
0
2
2
1
3
4
2
0
1
1
4
2
4
2
3
3
3
5
3
2
0
1
1
1
1
0
2
0
2
4
0
2
1
0
1
3
3
2
2
0
0
3
7
0
2
0
2
3
1
0
4
1
1
6
3
1
2
3
3
1
4
2
1
4
0
4
0
2
2
0
0
2
3
2
4
2
4
2
4
5
4
3
0
1
3
2
1
1
1
1
4
0
3
4
3
1
4
5
1
4
2
6
3
1
5
3
5
2
2
4
6
1
6
3
5
3
1
4
7
2
7
7
3
4
2
1
4
2
4
3
4
7
2
4
6
1
5
4
4
2
2
5
3
4
3
1
6
2
3
1
5
5
5
4
4
1
3
3
1
4
2
0
4
9
5
7
2
1
2
4
2
5
3
5
6
3
5
3
2
4
5
0
2
1
2
3
3
5
4
0
0
3
2
2
1
3
2
3
1
2
1
3
1
3
2
0
4
3
4
2
4
3
1
1
1
2
2
3
2
4
4
2
1
4
2
4
0
2
1
2
0
2
4
1
0
1
1
1
2
5
3
0
4
3
3
2
0
4
2
2
4
4
1
1
4
2
4
1
3
4
0
1
0
3
4
0
1
1
2
2
2
3
4
1
1
4
1
4
2
5
3
5
6
2
2
6
3
5
3
1
7
9
3
7
7
1
6
7
2
3
5
5
5
10
6
3
3
4
5
4
6
4
3
5
7
6
3
8
7
5
3
11
4
8
7
4
8
7
6
5
5
7
8
8
5
5
9
9
6
5
4
8
9
17
5
9
5
8
6
13
3
14
8
8
11
7
12
9
9
16
8
11
9
5
15
11
11
14
5
6
7
16
15
11
17
19
13
10
7
14
9
18
8
11
8
18
13
10
14
15
11
14
14
18
16
25
18
28
12
21
13
10
25
28
17
20
17
21
18
18
12
14
21
19
23
13
21
27
26
23
26
22
24
13
27
21
30
20
24
22
24
24
25
18
26
23
30
25
35
30
18
24
33
44
25
33
26
29
30
34
18
25
19
21
27
30
21
21
25
32
28
24
31
26
34
28
33
22
33
22
22
27
29
37
32
29
18
30
23
36
24
32
26
25
27
24
36
24
28
23
24
29
22
15
22
26
26
17
16
13
19
20
27
19
25
18
22
28
18
24
24
27
20
19
26
20
19
21
20
27
24
20
18
19
23
20
20
26
23
20
24
23
33
32
38
21
26
30
26
30
23
25
35
31
31
19
31
25
29
32
33
38
35
35
41
39
27
28
26
31
29
35
46
30
34
41
44
37
34
38
42
49
35
31
44
57
44
46
38
58
47
45
50
46
45
52
51
55
60
46
48
59
53
63
62
53
58
46
60
55
63
65
62
77
65
64
43
50
57
56
69
63
67
63
70
65
66
55
55
66
36
68
62
73
57
76
74
77
63
58
80
76
65
61
64
60
55
69
64
59
59
69
72
64
80
59
71
78
56
78
71
54
72
67
73
76
68
67
88
70
80
77
66
72
92
82
71
78
78
82
84
83
75
83
99
72
93
87
68
65
86
82
104
94
103
90
110
90
105
94
102
95
119
102
110
133
125
119
103
118
126
110
116
125
106
114
132
92
138
129
131
129
115
155
134
120
122
144
141
127
145
129
140
129
118
149
107
133
156
141
158
145
157
144
139
140
151
137
150
162
167
160
157
173
149
193
169
145
174
160
161
171
168
180
163
170
165
196
206
174
184
173
198
202
203
177
209
210
216
221
191
202
254
193
229
223
203
214
254
245
248
251
214
263
236
255
274
284
275
240
259
264
263
279
308
264
289
261
293
314
286
304
298
306
312
338
329
360
333
351
339
368
353
354
364
386
348
400
366
413
376
423
433
414
438
381
441
419
426
492
458
473
494
489
519
507
508
494
555
534
570
585
576
485
586
541
622
596
604
594
601
643
600
646
647
673
710
703
711
679
716
810
789
804
735
790
798
869
831
873
851
869
895
900
872
923
965
1004
995
1010
1050
988
1031
1062
1080
1134
1128
1203
1126
1070
1180
1206
1276
1250
1226
1362
1325
1369
1347
1303
1365
1412
1476
1477
1528
1543
1586
1599
1576
1697
1688
1688
1733
1797
1827
1860
1838
1917
2036
2023
2082
2133
2061
2133
2211
2133
2212
2269
2263
2331
2455
2446
2362
2567
2563
2664
2708
2805
2743
2866
2905
3108
3133
3122
3165
3333
3325
3519
3643
3668
3677
3854
4085
4149
4394
4290
4530
4615
4833
4997
5232
5337
5637
5829
6060
6269
6439
6790
7232
7409
8025
8407
8693
9278
9883
10301
10805
11488
12232
12535
13558
14539
15414
15903
16753
17853
18686
19929
20482
21630
22508
23638
24748
25782
26760
28093
29445
30392
31035
32332
33218
33906
35303
36371
36523
37112
38021
38507
39239
40080
40693
41454
41438
41842
42610
42809
43048
43580
44130
44333
45025
45708
46121
46742
46525
47123
47796
47719
48379
48647
49145
48820
48479
48132
48207
47789
47081
46152
45680
44482
42938
41534
40628
39740
38632
36748
34717
33107
31633
30236
27959
26301
24716
23221
21958
20393
19104
17154
16327
14876
13829
12790
11371
10455
9555
8517
7681
6900
6096
5451
4826
4283
3820
3330
2751
2374
2004
1775
1476
1123
1000
828
706
535
421
341
278
224
183
143
101
69
63
51
42
34
24
16
16
22
24
26
20
18
24
27
27
18
24
21
21
21
34
29
34
41
36
34
43
42
33
35
33
44
55
53
61
58
31
62
56
52
69
70
59
64
66
83
84
76
75
80
89
70
91
96
110
91
95
94
98
98
99
104
122
111
126
98
90
127
90
99
87
92
86
90
78
85
85
75
76
69
66
62
67
60
61
46
47
40
39
22
25
23
21
19
16
16
22
12
4
7
5
6
5
6
3
3
1
2
4
1
0
4
1
2
0
0
0
1
1
0
1
0
1
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
0
0
0
1
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
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
2
0
0
0
0
1
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
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
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
1
0
1
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
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
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
1
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
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
0
0
0
0
0
1
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
2
1
0
1
0
1
1
0
0
0
1
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
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
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
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
0
1
0
1
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
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
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
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
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
1
0
0
0
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
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
1
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
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
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
1
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
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
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
1
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
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
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
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
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
1
0
2
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
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
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
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
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
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
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
1
0
0
0
0
1
0
1
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
0
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
1
0
0
0
2
0
0
0
0
0
1
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
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
1
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
1
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
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
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
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
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
0
0
1
0
0
1
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
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
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
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
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
1
0
0
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
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
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
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
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
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
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
1
0
0
0
0
2
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
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
2
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
1
0
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
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
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
1
0
0
0
0
1
0
0
0
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
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
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
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
1
1
0
0
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
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
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
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
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
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
1
0
0
0
0
0
0
1
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
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
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
1
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
1
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
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
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
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
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
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
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
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
1
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
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
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
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
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
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
2
0
0
0
0
0
0
1
1
0
1
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
2
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
3
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
2
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
2
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
1
0
1
0
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
0
0
0
0
0
0
1
1
0
1
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
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
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
1
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
1
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
1
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
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
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
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
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
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
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
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
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
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
1
0
1
0
0
0
0
0
0
0
2
0
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
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
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
1
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
1
0
0
0
0
1
0
0
1
0
0
1
0
1
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
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
1
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
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
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
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
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
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
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
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
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
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
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
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
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
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
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
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
0
1
0
0
1
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
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
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
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
1
0
1
0
1
0
0
0
1
0
1
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
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
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
2
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
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
1
1
0
1
0
0
0
0
1
0
0
1
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
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
2
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
2
1
1
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
3
0
2
1
1
0
1
0
2
1
0
2
0
0
2
1
0
0
0
1
0
0
1
1
2
0
1
0
1
2
3
1
2
3
2
2
1
4
1
2
1
1
5
4
4
6
6
2
4
1
5
2
4
2
5
3
0
3
3
6
2
3
1
0
1
3
10
5
3
3
1
4
3
6
4
6
6
6
10
5
2
5
6
5
6
2
7
6
7
5
4
3
5
6
5
1
6
5
4
5
8
5
3
10
3
4
5
7
2
4
11
5
10
6
8
3
3
6
5
7
6
3
4
2
5
5
3
6
3
3
1
6
7
2
2
4
0
2
3
7
5
1
2
1
3
4
2
4
3
1
2
1
1
0
1
2
1
2
0
0
1
1
1
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
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
1
0
0
0
1
0
0
2
0
0
1
0
0
0
0
1
0
1
1
0
0
2
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
2
1
0
1
1
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
1
0
0
0
1
1
0
0
0
1
1
0
0
2
0
0
1
0
0
1
0
1
1
0
2
0
0
0
1
1
2
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
2
0
0
1
0
1
2
1
0
0
1
0
1
0
1
0
1
0
0
1
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
2
1
0
0
1
0
1
1
1
2
1
0
1
1
0
0
1
2
1
1
1
0
0
1
0
4
0
3
1
0
0
1
1
0
0
2
0
0
0
0
0
2
2
0
1
1
2
0
2
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
2
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
2
1
1
0
0
0
0
2
3
0
1
0
0
1
3
1
0
1
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
3
0
1
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
2
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
3
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
1
0
1
2
1
2
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
1
0
0
0
0
0
1
0
1
1
1
0
2
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
2
1
1
0
0
2
0
0
0
2
0
0
0
1
1
0
0
2
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
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
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
1
2
1
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
1
1
0
0
0
1
0
0
1
0
0
1
2
1
0
0
3
2
0
0
1
0
0
0
2
1
1
1
0
1
2
1
0
1
0
0
0
0
0
0
0
1
1
2
1
1
0
1
1
3
1
0
0
2
2
3
1
1
1
3
0
3
1
1
1
0
2
1
2
0
1
2
1
2
5
4
2
6
2
3
1
3
1
1
3
1
1
1
2
1
4
1
2
6
2
2
3
4
3
4
6
6
3
8
2
9
4
5
5
8
6
5
7
8
7
7
5
7
8
3
10
5
11
5
7
8
9
6
10
8
9
10
10
14
8
11
6
7
13
10
9
15
17
10
12
12
8
8
8
8
4
5
7
6
6
11
7
11
9
14
4
8
10
6
8
7
14
8
7
3
5
5
7
4
2
3
7
3
0
1
4
2
4
4
2
1
0
1
1
4
0
0
0
2
1
3
1
0
4
0
2
0
2
0
2
0
1
3
0
1
1
0
2
1
2
0
1
0
1
0
0
1
0
2
0
0
0
1
0
1
0
0
0
0
1
1
3
0
0
1
0
0
0
1
0
1
1
3
0
0
0
1
2
2
1
0
0
2
1
1
2
0
3
1
1
0
0
2
5
4
1
7
1
4
3
1
4
2
3
3
6
4
3
4
2
5
3
6
4
3
4
4
3
3
4
4
6
3
6
2
6
8
8
10
5
7
6
9
8
7
4
10
5
10
7
4
5
2
4
5
5
7
4
10
6
4
5
7
4
4
3
6
