1
1
1
0
0
0
0
0
0
1
0
0
3
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
1
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
1
0
1
0
0
0
0
1
0
0
1
2
1
0
0
1
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
0
0
0
0
0
0
0
1
0
0
2
0
1
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
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
1
0
3
1
3
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
2
0
1
2
1
0
0
0
0
0
1
2
1
0
1
1
1
1
0
1
1
1
0
1
0
2
0
1
0
1
1
2
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
2
0
2
1
0
1
0
1
0
0
1
0
0
2
0
0
0
0
2
3
1
0
0
0
0
1
0
0
1
1
0
0
1
2
2
1
0
0
1
2
0
0
0
2
1
1
0
0
1
0
3
1
1
0
0
1
1
0
0
2
1
1
2
0
0
1
1
0
5
2
2
2
1
0
0
0
1
0
0
1
1
0
0
1
3
1
1
2
2
3
1
2
3
4
0
1
2
2
2
1
0
0
1
0
3
1
0
2
0
0
2
1
1
1
1
1
1
1
5
1
1
1
2
3
1
1
3
3
4
1
1
0
0
0
0
1
0
3
2
3
2
0
1
4
3
0
0
2
0
2
2
3
3
2
6
0
2
2
3
2
1
4
2
4
3
2
3
1
2
4
2
1
2
4
2
1
3
2
1
8
1
3
1
3
7
6
2
4
2
0
3
8
1
4
3
4
1
4
3
3
3
11
4
5
2
2
3
8
3
5
6
2
0
4
4
6
2
6
4
6
5
4
4
5
6
3
4
3
5
2
3
8
4
12
6
5
4
8
3
5
4
6
11
4
7
9
3
8
11
10
1
5
5
10
9
9
7
11
6
7
6
16
11
8
9
10
10
12
9
6
10
15
17
17
14
10
11
10
14
10
15
11
11
11
11
9
14
11
13
15
7
10
18
13
15
19
17
23
10
19
19
19
16
10
18
20
31
25
25
24
23
15
23
18
18
16
13
27
24
29
31
27
13
27
14
19
22
20
24
24
24
24
26
30
30
22
29
25
30
43
39
37
38
33
38
28
31
41
45
39
33
42
47
35
43
31
44
49
39
41
43
52
45
48
51
49
48
54
53
56
54
57
62
42
61
68
75
65
70
61
57
59
72
74
80
78
97
85
88
97
74
70
93
90
112
97
107
118
113
113
125
110
135
117
126
143
118
127
159
169
168
185
177
168
161
194
191
253
231
198
244
249
281
273
294
295
318
351
371
389
404
433
446
494
513
552
542
658
683
720
767
798
883
888
983
967
1020
1132
1152
1241
1233
1363
1390
1366
1462
1536
1672
1646
1701
1871
1787
1831
1916
1927
1919
1984
2059
2039
2133
2118
2216
2110
2221
2245
2318
2331
2237
2267
2283
2333
2520
2401
2484
2433
2547
2554
2415
2582
2521
2495
2453
2483
2600
2432
2541
2490
2280
2315
2237
2168
2148
2067
1961
1878
1822
1676
1606
1496
1488
1343
1269
1210
1013
992
922
896
799
760
675
659
554
477
437
404
384
355
305
265
215
201
184
162
112
105
84
87
70
53
37
32
39
20
14
16
12
6
7
3
5
4
1
1
1
1
1
2
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
2
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
2
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
2
0
1
0
1
2
1
1
0
0
0
1
1
0
0
0
0
0
2
0
0
1
0
1
0
1
0
1
0
1
0
1
2
0
1
0
0
1
3
2
0
1
0
1
0
0
1
2
1
0
3
0
0
0
0
0
0
0
1
0
1
0
0
0
2
0
1
0
0
1
2
1
1
4
2
1
3
2
1
1
4
2
3
0
0
3
2
5
1
4
4
1
2
2
6
5
9
6
4
3
5
11
5
8
7
3
2
2
8
7
9
9
5
5
10
10
11
8
7
5
8
9
7
9
7
10
15
11
8
6
11
14
14
10
18
7
13
7
15
8
7
10
5
10
9
7
8
5
10
12
12
5
8
6
7
8
6
6
7
3
4
5
8
3
5
8
0
4
5
3
4
5
4
1
2
6
2
0
0
1
1
1
0
3
0
0
2
0
3
0
1
0
2
1
1
1
1
1
0
1
1
2
0
0
3
1
2
1
3
1
0
1
0
0
2
0
0
2
1
2
1
2
1
1
1
0
0
1
1
2
0
3
1
1
1
0
1
2
0
1
1
5
1
3
1
1
1
1
3
1
3
0
1
2
1
2
4
1
4
1
4
7
3
1
3
2
2
5
0
4
4
8
4
4
8
6
6
4
4
11
6
6
7
2
9
8
3
5
4
7
9
2
7
4
8
4
12
6
12
8
5
12
4
6
3
6
6
6
6
6
12
10
7
8
9
9
7
8
9
8
11
7
5
6
11
11
7
11
17
10
5
7
8
6
9
5
4
8
5
7
8
12
11
10
11
6
8
11
10
5
13
14
18
14
17
20
13
21
21
13
15
36
16
23
16
40
27
23
30
24
42
34
36
31
36
28
44
41
38
31
35
37
35
33
34
38
39
37
46
46
40
47
38
37
36
45
39
41
56
47
42
43
54
49
45
46
57
44
45
45
47
50
49
43
39
36
32
42
32
28
35
30
22
21
32
26
22
19
18
21
17
20
15
16
13
10
7
6
9
10
12
7
8
5
2
3
2
5
4
1
1
3
5
2
4
1
0
0
0
4
0
0
3
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
0
0
0
0
0
1
1
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
2
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
2
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
1
0
0
1
0
0
0
0
0
1
0
2
1
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
0
0
1
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
0
0
0
2
0
1
0
0
0
0
1
0
0
0
1
2
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
1
0
2
0
0
2
0
0
1
1
0
1
0
1
0
0
0
1
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
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
1
0
0
1
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
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
3
0
0
1
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
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
2
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
2
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
2
0
2
0
0
1
2
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
3
0
1
0
0
0
0
1
0
2
1
0
1
2
2
0
0
0
2
0
0
0
1
3
1
0
1
0
1
0
0
1
2
1
1
2
0
0
0
1
0
2
2
2
0
3
3
1
1
2
2
1
0
1
1
0
1
0
0
3
1
1
1
0
2
2
1
0
4
5
0
2
0
1
1
3
1
1
0
1
1
1
0
4
2
0
1
2
3
1
1
2
5
3
1
5
2
3
4
1
1
0
2
2
4
3
2
2
3
0
4
0
4
4
0
2
3
2
2
1
3
4
1
1
3
4
2
1
1
5
3
4
2
0
2
2
2
2
1
1
1
2
4
2
3
1
1
1
2
1
1
2
1
0
0
2
0
5
3
1
1
3
1
3
3
2
0
0
1
0
1
0
3
3
0
3
2
3
1
2
0
4
0
2
2
3
3
2
3
1
2
0
2
2
3
4
4
1
4
2
1
4
1
1
1
2
3
2
3
4
3
3
1
1
2
1
2
6
2
5
1
5
0
4
5
3
3
2
0
2
3
2
6
5
2
1
5
1
7
3
4
3
3
3
6
2
2
3
2
2
1
1
3
6
4
1
4
3
5
2
4
6
5
5
3
3
2
1
3
4
2
2
2
2
2
5
4
1
7
7
6
1
1
6
1
6
3
3
1
4
4
5
2
7
3
7
7
4
7
4
11
4
4
8
5
5
3
5
8
5
8
4
5
9
7
5
4
6
4
3
3
5
0
7
4
7
6
4
3
5
5
4
4
8
5
5
4
7
4
4
3
6
7
6
7
8
5
6
6
1
8
8
8
9
10
10
9
14
8
5
9
12
8
5
8
10
14
6
17
12
5
7
11
7
4
9
6
3
15
6
9
13
11
12
11
9
12
14
10
12
13
12
17
11
9
10
12
12
8
8
11
7
15
13
10
10
6
15
9
16
12
10
17
3
18
13
16
11
16
24
9
12
19
17
18
22
16
10
14
19
15
27
23
13
21
13
21
15
28
23
18
23
19
25
25
18
21
23
34
20
29
17
34
14
36
15
21
27
23
24
27
29
19
21
33
31
40
23
29
38
32
26
35
43
34
38
36
33
32
35
36
38
37
36
40
50
42
43
39
40
53
45
53
48
47
49
55
47
71
56
43
61
59
66
50
44
45
65
68
60
59
49
70
69
72
54
56
70
71
61
65
80
101
84
90
77
86
88
93
102
89
96
88
92
78
78
99
109
102
129
126
110
104
101
110
115
121
112
132
125
124
135
139
140
133
145
134
162
128
139
146
145
154
153
180
137
180
180
150
179
175
168
193
190
186
192
210
208
190
193
193
220
211
241
242
214
245
254
236
249
271
286
262
280
263
309
301
279
323
318
301
313
343
330
358
369
392
389
387
437
374
416
447
455
442
510
475
505
541
563
556
606
618
622
688
661
695
714
843
786
842
871
909
956
968
1054
1060
1145
1272
1361
1395
1542
1581
1590
1739
1871
1993
2093
2200
2427
2612
2738
2943
3031
3177
3368
3604
3901
4110
4325
4619
4867
5101
5355
5498
5740
6051
6370
6494
6693
7078
7214
7379
7553
7728
7998
8200
8135
8453
8422
8638
8903
8692
8910
9102
9234
9274
9372
9299
9576
9683
9787
9868
10032
10079
9999
10491
10390
10347
10638
10589
10522
10438
10513
10738
10509
10214
10275
10328
9734
9506
9420
9056
8760
8470
7865
7590
7354
6769
6761
6283
5907
5462
5226
4745
4549
4118
3893
3539
3320
2997
2842
2548
2343
2079
1891
1692
1553
1271
1202
1046
908
834
679
603
505
451
373
280
220
203
162
122
103
80
55
46
29
24
17
16
16
8
9
7
3
1
1
1
1
4
1
2
2
1
1
0
1
2
1
1
1
1
0
2
1
4
2
3
4
4
2
2
1
1
1
4
0
3
1
1
1
3
2
4
3
4
1
2
3
0
5
2
4
1
8
8
2
5
3
5
4
6
8
4
9
3
2
5
1
5
3
6
4
6
4
6
4
4
3
3
4
3
4
2
4
3
1
5
0
5
1
0
2
3
0
4
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
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
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
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
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
1
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
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
0
0
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
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
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
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
1
0
0
0
0
0
0
0
1
1
0
0
1
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
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
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
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
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
0
0
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
0
0
0
0
0
2
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
1
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
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
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
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
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
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
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
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
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
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
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
1
1
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
1
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
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
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
1
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
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
1
0
0
0
0
0
0
1
0
1
0
0
0
2
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
1
0
1
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
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
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
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
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
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
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
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
1
0
0
0
0
0
0
0
1
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
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
1
1
0
0
0
0
0
0
0
1
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
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
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
1
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
1
1
0
0
0
0
0
0
1
0
0
1
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
1
1
0
1
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
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
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
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
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
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
1
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
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
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
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
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
1
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
1
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
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
1
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
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
1
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
0
0
0
0
0
0
0
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
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
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
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
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
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
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
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
1
0
0
0
0
0
1
0
1
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
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
1
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
0
1
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
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
0
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
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
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
1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
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
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
1
0
0
0
0
1
0
1
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
0
0
0
0
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
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
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
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
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
3
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
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
1
2
0
1
1
1
1
1
1
0
0
3
1
1
1
1
1
0
1
0
1
1
0
3
2
3
0
2
3
1
4
0
1
0
1
2
1
2
1
1
2
2
1
3
2
2
0
4
1
2
1
1
1
1
1
1
0
1
3
2
1
1
1
1
1
2
1
4
3
2
0
0
2
0
0
0
1
1
2
1
0
0
0
4
1
2
3
1
0
0
0
1
0
2
2
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
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
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
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
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
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
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
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
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
0
0
1
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
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
1
0
0
0
0
1
1
0
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
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
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
0
0
1
0
2
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
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
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
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
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
1
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
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
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
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
3
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
1
1
0
2
0
0
0
1
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
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
1
0
0
0
0
0
1
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
0
1
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
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
1
2
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
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
1
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
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
2
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
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
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
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
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
1
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
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
1
1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
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
1
1
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
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
2
2
0
1
2
0
0
2
1
0
1
1
0
0
1
0
1
1
3
1
2
1
1
0
1
0
1
1
1
0
0
0
1
2
1
2
0
0
0
0
3
1
0
2
0
4
3
2
2
0
2
5
1
3
2
2
5
0
0
1
2
0
0
1
2
1
2
4
4
2
5
4
3
2
3
8
7
6
3
9
12
6
3
4
7
7
8
6
8
9
8
15
6
12
8
15
11
13
13
11
16
11
10
10
18
14
21
11
13
21
21
18
11
26
20
15
18
26
21
21
25
27
18
32
26
19
24
21
18
21
23
19
22
17
19
22
16
19
21
19
17
17
19
18
17
21
27
19
18
16
16
19
11
14
19
15
7
10
12
10
11
6
12
7
3
11
9
9
7
3
2
6
3
9
3
2
3
9
3
2
1
0
1
0
3
1
2
1
2
1
0
2
2
0
0
0
0
1
1
1
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
1
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
1
1
2
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
1
1
1
1
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
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
0
1
2
0
0
0
1
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
1
0
2
0
0
2
0
0
0
0
0
2
2
0
3
2
2
1
0
0
0
0
1
1
2
2
1
0
2
0
4
1
2
3
2
5
0
3
1
2
1
1
1
1
3
0
4
4
5
2
3
3
2
1
3
3
3
3
0
1
2
4
3
2
8
3
3
2
1
2
2
3
3
2
2
1
2
2
2
1
3
1
1
0
2
1
0
1
1
1
1
3
0
2
2
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
3
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
2
0
0
0
1
0
0
0
3
0
0
1
1
0
1
0
0
1
1
0
3
1
1
0
2
1
0
0
1
0
2
0
1
0
1
0
0
0
0
0
1
0
2
1
2
0
0
2
1
3
0
0
2
0
0
0
1
1
1
2
0
3
3
1
3
3
2
0
2
2
1
2
2
0
1
1
4
1
3
5
6
1
2
0
1
3
3
3
6
3
6
2
2
2
1
1
2
2
3
1
0
2
3
0
3
1
4
2
1
4
2
3
5
2
2
6
2
4
7
4
6
4
4
5
4
8
5
2
5
8
7
3
8
1
5
6
10
7
12
12
8
9
8
9
9
9
7
11
12
9
9
9
8
11
19
11
5
11
15
10
8
15
14
10
9
5
14
20
14
14
10
15
11
7
13
16
15
12
8
11
12
14
11
9
10
11
8
7
4
13
13
7
13
10
8
8
8
7
5
6
6
2
5
3
2
0
3
1
2
1
2
1
1
1
1
0
1
1
1
0
1
0
1
0
0
2
0
0
2
0
1
2
0
0
0
0
0
1
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
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
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
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
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
2
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
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
2
0
0
0
2
1
0
2
0
0
1
0
0
3
2
2
2
2
3
2
1
3
1
1
0
0
0
1
2
2
1
1
0
1
1
1
2
3
3
1
3
2
3
1
1
1
6
2
2
1
0
2
0
2
2
1
3
5
5
5
1
4
2
4
2
1
0
4
0
1
0
1
0
1
0
3
1
1
1
1
1
0
1
2
2
1
1
1
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
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
1
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
2
0
0
0
0
0
2
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
2
1
0
0
0
1
1
2
0
3
1
0
1
2
1
1
2
0
2
1
1
2
1
1
2
1
0
1
0
0
1
2
2
2
2
2
1
5
1
2
1
0
2
1
0
1
1
4
1
1
2
1
0
0
0
2
1
1
1
0
0
1
