0
4
2
0
0
2
0
1
4
1
2
1
2
0
3
1
0
1
3
0
1
1
1
2
1
0
0
0
2
0
0
2
0
1
1
1
0
0
1
1
0
1
1
1
2
1
0
0
1
0
0
0
0
3
0
2
0
1
3
0
0
2
1
0
3
0
1
1
0
1
1
1
0
0
2
0
2
1
0
0
1
0
2
0
1
3
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
2
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
4
0
0
0
1
0
1
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
1
0
0
0
0
0
1
1
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
0
0
0
1
0
1
0
0
0
1
0
1
2
0
0
1
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
0
0
2
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
2
0
1
0
2
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
2
0
0
0
0
0
2
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
2
0
0
2
0
0
2
0
0
2
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
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
1
0
1
1
2
0
0
0
1
0
1
0
2
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
2
0
1
1
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
0
0
0
0
1
0
0
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
2
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
2
1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
2
0
0
1
0
2
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
2
0
0
1
1
1
0
0
0
0
0
0
1
0
2
1
0
1
0
1
0
2
1
1
2
0
2
2
2
0
0
0
2
0
3
0
0
0
1
0
1
0
0
1
2
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
3
0
1
1
1
2
0
2
1
2
0
3
1
1
2
0
0
1
0
0
1
2
2
3
1
0
4
1
1
3
2
0
1
2
0
1
1
2
5
1
0
4
0
1
2
3
3
2
2
1
1
2
1
2
0
2
2
6
3
1
3
1
2
6
1
4
1
2
1
2
0
2
1
0
3
4
3
1
2
2
0
4
2
4
2
3
2
4
3
3
3
1
10
2
4
5
2
2
3
3
3
2
4
7
4
3
3
6
4
5
4
3
5
3
4
10
6
7
8
8
8
8
6
8
6
8
5
6
10
13
12
10
14
12
15
4
12
20
17
19
9
15
15
22
21
16
14
14
18
16
25
12
17
12
15
16
15
22
19
18
22
23
27
30
16
24
23
29
16
15
25
21
17
22
31
24
16
19
27
18
24
22
30
19
39
26
15
17
27
14
26
13
19
16
17
18
10
15
14
9
10
12
15
15
11
10
9
9
8
7
1
4
5
7
1
4
2
5
3
3
1
4
2
4
0
2
1
0
1
0
1
0
1
2
1
0
3
1
0
0
1
0
3
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
2
0
0
1
1
0
0
0
1
0
3
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
2
2
0
0
0
0
0
1
0
0
1
2
0
0
2
3
2
0
1
1
0
0
1
0
2
2
0
0
0
0
0
1
1
1
1
4
1
2
0
1
2
0
1
3
3
2
1
0
3
1
1
1
0
2
2
2
1
2
2
2
1
0
0
2
2
2
1
2
0
1
1
1
1
0
6
2
0
2
1
1
2
0
1
1
2
4
0
1
1
2
2
0
5
5
3
4
0
0
2
0
5
2
6
3
0
3
4
3
0
4
3
2
3
2
0
2
4
6
2
3
2
4
1
5
5
3
7
2
3
3
8
3
8
2
4
6
6
6
3
2
5
7
7
5
8
7
6
7
6
7
9
10
9
11
12
7
6
5
15
15
16
15
4
13
11
13
18
19
10
12
18
20
19
15
21
21
10
21
19
23
22
29
33
24
23
23
23
38
31
26
35
26
36
36
23
21
49
25
32
41
34
39
23
34
32
32
34
29
25
27
35
36
37
42
35
35
32
37
39
31
30
36
27
38
29
23
34
33
30
26
22
22
26
16
18
27
14
20
22
17
22
14
15
17
10
8
11
10
9
9
8
10
7
7
10
4
4
4
6
4
5
8
1
7
4
4
3
4
6
9
3
7
5
3
7
5
3
5
5
5
3
3
4
0
3
7
4
10
3
5
4
4
4
2
9
7
4
6
3
7
5
4
3
4
3
3
6
7
3
9
8
7
5
3
10
7
11
8
3
9
12
3
8
6
7
13
5
7
5
11
13
14
17
12
6
11
11
6
19
11
11
4
10
12
17
11
12
12
18
13
22
11
22
27
20
25
22
28
26
23
21
19
40
29
29
26
28
29
23
30
20
23
27
35
28
41
43
36
32
34
36
35
27
27
33
28
34
34
34
29
32
39
24
26
38
33
33
30
27
23
29
33
27
29
40
27
25
36
35
33
35
40
29
40
35
30
32
39
40
35
37
35
25
53
45
63
53
57
71
70
67
66
66
76
73
74
94
87
99
119
90
90
111
102
122
103
116
112
136
153
116
123
121
148
132
131
133
151
131
163
157
151
158
165
191
144
164
174
185
165
176
178
165
192
153
158
152
191
162
185
204
158
165
163
140
149
125
158
141
140
127
134
113
112
113
88
94
110
102
96
65
71
65
56
66
63
48
43
48
48
23
33
29
34
21
20
17
15
15
13
13
9
6
10
5
8
1
5
1
0
4
1
0
2
4
1
0
0
2
1
1
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
1
0
0
1
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
3
0
0
0
0
1
0
1
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
1
1
0
0
0
2
1
0
1
0
0
1
2
0
0
1
2
0
0
1
0
0
0
0
1
0
1
0
2
1
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
2
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
3
1
1
1
0
0
1
3
1
0
0
0
1
1
2
0
1
0
0
0
0
0
2
0
0
1
0
0
2
2
1
1
0
0
1
1
0
1
0
0
0
0
0
1
5
1
1
1
0
3
2
1
1
1
1
1
0
0
0
0
0
1
0
1
1
2
0
0
1
1
1
2
1
1
1
1
1
1
1
1
0
2
0
2
0
0
0
0
1
0
2
1
3
1
1
0
2
3
0
0
0
0
2
2
2
1
1
3
1
1
0
1
0
2
1
2
1
1
2
2
1
1
0
1
1
0
0
1
1
3
0
2
2
1
2
0
1
1
1
2
1
4
2
0
1
0
0
0
6
1
2
1
3
1
1
1
0
1
1
2
3
1
2
0
1
3
1
4
2
2
1
0
0
1
4
2
2
5
1
1
1
3
1
1
6
2
2
0
2
2
1
1
0
3
2
1
2
0
1
5
6
1
2
5
2
3
1
3
5
0
2
3
1
1
2
5
2
3
2
2
4
3
1
3
0
1
1
2
2
1
0
1
0
2
3
1
0
0
2
3
0
1
0
2
2
1
2
2
1
0
0
3
0
1
2
0
2
2
1
1
0
3
3
0
1
2
0
3
2
1
1
1
3
0
1
2
1
0
2
1
1
1
2
2
2
0
0
0
1
1
0
1
1
1
1
1
1
2
0
4
3
1
1
2
0
2
1
0
1
1
0
1
3
2
0
4
2
2
2
0
3
1
3
1
2
1
2
2
4
1
0
0
1
1
1
0
0
2
1
2
1
4
3
5
2
7
1
1
2
1
3
1
1
1
1
1
1
2
2
1
6
1
2
2
4
2
3
1
2
3
3
2
2
1
2
3
6
3
1
5
3
2
3
4
2
2
5
4
3
7
5
5
2
2
3
1
6
4
2
2
4
6
4
3
1
1
10
4
4
5
6
4
8
4
5
5
7
5
7
2
2
4
3
4
6
9
7
7
4
11
4
8
5
3
5
6
4
11
6
9
6
13
3
1
7
12
12
11
6
7
12
6
9
5
9
11
5
7
11
11
10
8
14
11
16
7
19
9
11
9
4
10
17
11
10
15
13
12
8
9
11
18
14
14
13
9
14
10
6
8
8
19
6
14
8
10
14
10
12
8
9
13
9
12
12
17
10
11
15
20
11
13
11
9
12
14
8
14
9
8
9
17
17
13
8
14
10
13
11
9
11
9
10
14
13
9
9
8
12
10
12
10
14
9
13
9
11
11
14
15
12
13
3
15
11
8
9
13
10
11
12
12
10
7
6
17
4
12
10
7
13
7
16
10
13
7
11
15
13
11
14
15
10
16
9
18
10
10
18
13
8
16
10
13
11
11
13
16
14
23
13
19
18
15
19
16
13
21
15
13
21
17
24
11
16
15
22
16
18
22
22
24
23
21
21
22
20
16
27
24
28
23
20
26
29
26
30
15
22
21
21
24
21
30
31
33
24
26
31
32
19
28
32
34
25
28
39
29
40
23
36
34
24
31
31
29
40
29
33
27
41
32
34
37
31
31
40
35
32
30
46
39
41
28
35
34
37
39
37
24
36
28
42
25
34
31
31
36
36
40
41
27
33
41
41
41
46
25
33
41
35
39
24
36
28
54
39
28
43
36
43
38
45
46
51
47
32
46
46
47
54
57
46
46
43
38
45
48
44
49
55
50
55
52
43
54
68
52
55
64
51
67
66
47
50
48
71
60
51
66
67
45
73
54
71
53
69
46
54
72
78
81
61
82
70
64
89
57
65
67
87
62
61
68
67
71
77
87
81
82
74
71
89
79
79
101
74
80
80
85
91
80
78
80
90
95
77
81
81
109
90
92
83
100
97
97
118
109
97
92
123
112
110
121
106
116
103
118
131
111
115
140
109
129
136
128
137
135
146
157
138
125
147
154
139
151
155
165
156
164
166
151
163
142
180
155
181
177
183
193
195
205
197
174
212
187
193
222
205
205
218
224
218
234
218
246
227
245
246
261
260
234
269
258
264
275
277
253
300
297
295
314
287
285
303
292
326
311
328
334
333
345
370
360
328
351
352
393
398
402
416
390
390
444
432
448
462
455
413
459
448
469
495
467
487
521
535
527
527
522
524
546
527
591
606
582
572
637
646
614
624
667
630
638
673
724
698
703
746
766
775
731
794
786
841
809
855
862
869
912
893
928
887
964
953
1045
1027
1081
1085
1062
1178
1125
1194
1159
1204
1200
1225
1239
1323
1269
1414
1324
1325
1412
1459
1384
1465
1527
1523
1581
1643
1667
1623
1691
1787
1918
1873
1954
1994
2093
1981
2157
2185
2302
2338
2429
2396
2544
2711
2712
2740
2919
2935
3146
3165
3401
3345
3649
3797
3953
4083
4286
4546
4757
5104
5278
5684
5869
6348
6638
6949
7337
7826
8436
8796
9472
9730
10445
11114
11576
12249
13157
13915
14621
15121
15984
16897
17647
18823
19538
20243
20793
21716
22453
23326
23910
24770
25342
26188
26388
26933
27630
28156
28293
28822
28973
29179
29478
30133
30095
30488
31023
31453
31213
31936
32347
32637
32548
33500
33437
33340
34137
34412
34830
35119
34819
35455
34967
34750
34929
34353
34121
33019
32407
32315
30970
29867
29127
28120
27041
25411
24238
22797
21646
20275
19361
18390
16928
15732
14669
13566
12513
11691
10681
9702
9007
8251
7396
6734
6171
5362
4977
4394
3837
3493
2959
2561
2211
1952
1586
1316
1119
874
759
612
429
418
256
237
175
128
110
84
58
46
26
33
24
19
16
14
8
12
11
10
7
7
13
7
14
11
10
9
9
11
14
14
19
13
7
17
23
17
19
15
17
20
25
24
24
21
31
26
21
31
25
24
37
22
28
32
27
27
33
38
37
42
42
46
43
38
48
48
44
54
58
58
50
45
40
50
55
58
47
51
45
50
52
45
45
50
44
35
37
34
36
47
34
26
28
22
23
30
18
15
17
13
21
10
13
9
9
6
1
4
4
2
3
0
4
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
2
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
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
1
0
0
0
0
0
1
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
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
0
0
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
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
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
0
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
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
1
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
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
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
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
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
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
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
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
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
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
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
2
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
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
0
0
0
0
0
0
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
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
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
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
1
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
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
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
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
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
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
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
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
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
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
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
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
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
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
0
0
0
1
0
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
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
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
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
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
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
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
1
1
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
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
1
0
1
1
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
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
0
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
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
2
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
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
1
0
1
0
0
1
1
0
1
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
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
1
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
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
1
0
0
0
0
0
0
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
0
0
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
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
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
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
0
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
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
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
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
1
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
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
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
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
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
0
0
0
0
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
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
1
0
0
0
0
1
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
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
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
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
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
1
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
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
1
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
1
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
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
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
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
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
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
0
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
1
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
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
1
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
2
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
1
0
0
0
0
1
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
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
2
1
0
0
0
0
2
0
0
1
1
1
0
0
2
0
0
0
1
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
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
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
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
1
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
1
1
1
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
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
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
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
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
2
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
1
0
0
0
0
0
1
1
2
0
0
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
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
1
1
1
0
2
0
0
0
1
2
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
2
1
1
0
0
0
1
0
0
1
2
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
2
0
0
0
1
1
1
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
1
0
0
0
0
1
0
0
0
1
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
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
1
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
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
1
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
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
2
0
0
0
1
0
0
2
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
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
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
1
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
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
2
0
1
0
2
0
2
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
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
2
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
3
1
0
0
0
0
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
1
0
0
0
1
1
1
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
1
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
1
0
0
0
1
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
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
2
1
1
2
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
3
1
1
1
1
0
4
2
1
0
0
0
2
0
1
0
1
2
0
2
0
3
1
1
2
2
0
2
0
3
2
3
2
5
2
5
4
0
1
5
3
6
1
3
2
3
7
8
3
5
5
3
4
2
2
3
5
5
2
7
5
5
3
5
8
7
5
5
11
9
8
4
6
8
2
6
3
3
8
6
7
4
7
6
3
4
6
9
3
7
4
2
2
5
7
10
7
2
2
6
8
6
3
4
1
5
3
4
3
3
4
3
2
3
4
1
2
2
0
4
2
1
1
2
0
1
0
0
0
0
1
0
2
1
0
1
0
0
0
1
2
0
0
0
1
0
1
0
0
1
0
0
0
2
0
0
0
1
0
1
1
0
1
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
3
0
0
0
0
3
0
2
1
3
0
1
0
1
0
1
1
2
1
1
0
5
1
1
3
2
2
0
0
1
1
4
2
3
4
2
3
2
2
4
4
1
0
4
3
6
6
1
3
1
5
3
2
1
6
3
5
3
1
5
5
8
2
4
7
2
3
3
1
3
6
4
6
2
2
10
5
5
5
5
3
6
1
1
2
2
