0
2
0
0
1
1
1
1
0
0
2
2
1
4
0
0
2
3
0
1
0
0
0
2
0
1
1
0
1
1
0
1
0
2
0
0
2
0
1
2
1
2
1
2
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
2
1
0
0
3
0
0
0
0
1
1
0
0
0
0
1
1
0
1
2
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
1
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
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
0
2
0
1
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
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
1
0
2
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
2
1
0
1
1
0
0
0
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
1
0
0
1
0
0
0
1
1
1
0
1
0
2
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
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
1
1
0
2
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
2
0
1
1
1
2
0
1
1
0
0
1
1
1
0
0
0
0
1
1
2
3
1
0
0
0
1
1
0
2
0
0
1
1
2
1
3
0
1
2
0
1
1
1
1
0
0
1
1
0
0
2
1
0
2
0
0
0
0
3
1
1
1
0
0
1
3
1
0
1
2
0
0
2
1
0
1
0
1
1
0
0
2
0
0
1
1
3
3
2
1
2
2
3
3
1
1
2
3
3
3
2
1
2
1
5
1
1
3
2
2
2
1
2
1
2
1
3
2
2
1
1
0
4
3
0
5
1
3
2
1
3
3
0
2
6
4
4
4
6
7
3
6
4
2
6
3
9
9
8
4
6
10
6
8
8
10
22
10
9
9
17
14
14
17
17
13
9
15
26
15
20
26
21
19
16
27
24
25
33
33
17
30
46
38
27
40
36
27
31
40
28
30
42
40
46
52
37
37
40
43
40
36
51
50
52
46
46
44
57
47
47
35
49
49
54
44
53
36
45
39
49
48
55
48
44
37
38
35
32
26
31
33
25
29
33
26
21
21
17
12
10
17
15
9
7
12
8
11
9
12
6
6
9
6
5
2
0
4
3
2
0
0
1
2
2
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
2
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
2
1
0
0
1
0
0
1
1
2
0
0
0
0
2
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
2
1
0
0
0
0
2
1
1
0
0
0
1
2
0
1
0
0
0
0
1
0
0
3
2
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
2
1
1
1
2
1
0
2
0
0
0
1
0
0
2
1
3
1
0
0
1
0
0
0
2
0
3
0
2
1
1
1
1
1
0
2
1
0
0
1
2
1
1
0
1
4
0
0
1
4
2
2
1
0
2
1
2
1
3
3
1
2
1
5
3
2
3
2
4
4
1
2
4
4
4
3
5
5
3
4
6
6
14
7
9
7
7
5
10
13
10
9
8
10
8
14
10
11
11
10
13
12
17
13
7
15
16
17
16
10
12
19
8
17
10
21
13
21
13
15
16
31
20
17
16
17
24
13
9
18
20
15
27
24
22
25
9
20
21
13
18
14
21
14
20
16
12
12
20
9
10
8
11
15
7
12
10
10
11
5
8
12
2
8
8
11
3
2
2
6
5
6
5
2
1
2
6
3
0
3
3
4
1
1
1
3
4
4
1
1
2
3
0
2
3
2
1
1
1
4
2
3
2
0
1
1
0
2
3
0
4
1
0
1
2
2
7
4
2
4
2
1
0
1
1
2
1
2
1
1
2
3
4
3
2
5
3
5
4
2
3
3
4
3
4
2
4
3
11
3
3
4
5
2
10
4
5
7
4
6
10
4
10
3
10
6
10
10
13
6
9
5
9
9
9
11
8
9
9
13
11
18
13
13
13
9
11
13
16
14
10
19
6
10
14
13
15
9
13
12
12
10
13
15
20
19
14
13
16
12
11
11
14
16
11
18
17
20
20
19
20
12
15
11
17
14
14
17
19
14
18
23
18
13
16
18
19
26
18
21
21
14
23
16
12
21
20
25
32
26
28
30
42
34
39
46
37
40
46
47
50
53
61
63
53
60
56
63
47
59
65
65
57
74
63
67
73
78
71
96
62
75
72
71
77
82
67
86
85
86
86
89
87
86
78
82
87
82
91
93
88
82
80
69
71
73
84
85
76
54
54
64
63
51
57
48
61
52
47
46
52
38
35
48
35
29
40
34
31
20
20
12
13
11
16
13
9
8
11
12
6
4
6
5
7
3
6
2
4
2
1
1
2
3
3
0
0
0
1
1
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
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
1
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
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
0
0
1
1
0
0
0
1
2
1
0
0
0
0
1
0
0
0
0
2
0
0
4
0
0
1
0
0
2
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
2
1
0
0
0
2
0
1
0
3
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
2
0
0
1
0
1
0
2
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
2
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
4
2
1
0
0
2
2
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
2
0
1
1
0
0
1
0
2
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
2
1
1
1
2
0
1
2
1
0
1
0
2
1
1
2
1
0
0
2
0
0
1
2
2
1
1
1
0
0
0
0
2
1
0
0
2
1
1
0
2
0
2
3
1
0
1
1
0
1
2
0
2
0
1
2
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
2
2
1
2
1
0
1
1
0
1
3
2
0
0
1
2
2
1
0
1
1
1
1
0
5
0
2
2
0
2
1
1
0
1
1
1
1
1
2
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
2
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
2
2
0
2
0
0
2
0
0
0
1
0
0
0
1
0
0
2
0
4
1
0
2
0
1
0
0
0
1
0
2
1
1
4
1
2
2
1
0
1
0
0
1
3
0
0
0
3
0
1
0
3
2
0
4
0
1
0
0
1
0
0
1
3
0
1
1
0
1
2
1
0
1
2
1
0
1
1
0
3
1
0
2
1
0
0
1
2
3
1
5
0
1
2
1
1
0
2
0
0
1
0
3
0
0
2
2
1
0
0
3
4
5
2
3
3
3
1
1
3
4
1
4
4
2
1
2
1
0
1
0
4
3
3
3
3
5
3
4
0
2
1
3
5
4
1
2
1
5
1
2
2
4
4
4
1
2
2
5
2
5
3
1
4
4
4
1
1
0
2
5
8
3
7
6
1
4
8
4
2
4
5
3
4
4
4
4
3
7
6
2
6
8
0
6
3
6
2
5
1
5
3
3
1
4
3
4
4
2
7
4
5
3
5
7
4
1
3
8
3
2
6
3
4
5
6
3
1
1
6
2
3
6
3
5
4
4
3
1
2
5
2
5
0
3
3
2
6
5
4
6
2
3
2
3
5
3
2
2
4
3
2
5
4
3
2
5
9
5
1
5
6
4
4
2
6
2
2
3
1
8
6
2
3
5
6
6
2
3
9
6
1
4
5
4
5
7
7
6
7
5
9
4
7
7
8
4
4
6
8
8
4
10
6
5
3
7
10
8
1
7
8
3
6
6
12
9
5
6
11
13
7
12
9
9
6
11
9
13
9
7
6
11
13
13
8
9
15
9
5
9
13
12
10
16
11
12
0
7
7
15
15
11
8
11
12
10
13
15
7
11
10
14
13
9
15
15
12
11
15
9
15
8
6
10
10
12
15
11
15
14
10
10
11
11
12
14
13
12
7
13
8
12
11
12
22
6
11
15
12
14
16
10
17
13
15
18
11
18
15
10
19
12
21
13
17
19
14
12
15
16
17
23
22
12
15
20
25
19
14
20
16
25
12
17
17
16
15
28
26
20
23
16
19
18
17
17
19
23
18
19
20
28
27
22
35
23
35
31
18
21
18
15
21
31
22
27
33
31
28
27
19
25
32
24
22
35
23
37
24
33
30
35
34
34
29
25
22
28
39
32
37
32
42
33
36
31
32
33
42
38
32
44
37
38
50
38
36
46
41
36
46
46
48
47
42
43
50
45
54
48
46
57
41
58
63
45
59
55
52
45
50
69
63
72
55
70
54
57
54
78
69
57
79
62
81
61
69
96
78
80
67
79
78
77
73
79
62
86
90
75
91
79
99
98
95
91
94
100
117
97
134
118
117
124
103
127
118
112
122
131
149
111
130
132
135
151
139
141
143
129
148
155
166
145
150
162
167
166
176
202
167
201
199
188
205
188
185
230
199
184
215
200
215
241
222
240
198
245
240
241
256
223
217
260
274
252
239
303
266
302
312
278
324
311
304
318
328
308
337
368
343
364
374
364
356
392
406
375
415
385
372
439
388
441
455
486
477
522
453
503
460
496
504
536
508
581
548
585
592
646
621
651
651
658
632
674
654
656
718
747
763
781
792
795
837
901
887
930
885
899
974
947
983
1079
1051
1118
1171
1208
1265
1241
1360
1333
1433
1478
1492
1539
1752
1757
1895
1889
1924
2067
2180
2256
2429
2571
2690
2778
3011
3208
3340
3611
3831
3973
4278
4583
4797
5105
5486
5780
6129
6573
7006
7235
7574
8100
8621
9138
9515
10130
10523
10978
11432
11887
12378
12779
13080
13449
14024
14259
14852
15221
15543
15439
15736
16211
16509
16830
17197
17236
17198
17142
17665
17888
18057
18442
18778
18763
18865
19241
19369
19594
19702
19664
19681
19899
20326
20234
20180
20223
20462
20090
20170
19728
19683
19138
19045
18399
17834
17202
16187
15848
15181
14680
13786
13182
12283
11654
11123
10401
9852
9010
8398
7783
7167
6599
6004
5717
5111
4694
4222
3903
3397
3077
2859
2512
2184
1976
1701
1500
1206
1089
922
799
652
517
402
368
303
226
178
153
120
102
68
52
50
25
23
16
13
6
4
10
7
3
3
2
2
3
3
2
4
5
1
4
4
3
9
4
1
5
6
1
6
5
15
3
7
9
8
10
6
3
10
7
9
6
5
7
9
13
11
7
13
10
10
16
11
15
12
15
12
18
18
15
10
22
19
8
18
13
23
23
22
22
18
20
20
22
6
18
12
13
19
15
18
10
15
9
5
6
8
10
5
5
6
7
5
5
5
5
2
6
4
0
0
2
5
5
1
2
2
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
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
1
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
0
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
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
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
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
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
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
2
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
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
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
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
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
1
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
1
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
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
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
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
1
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
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
0
1
0
0
1
0
0
0
1
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
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
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
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
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
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
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
1
0
1
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
0
0
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
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
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
0
0
0
0
0
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
1
0
0
1
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
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
1
1
0
0
0
1
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
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
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
0
0
0
0
0
0
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
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
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
1
1
0
1
0
0
2
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
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
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
1
1
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
1
0
0
0
1
0
0
0
0
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
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
1
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
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
0
0
0
0
0
0
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
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
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
2
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
0
0
0
0
0
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
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
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
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
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
0
0
0
0
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
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
0
0
1
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
2
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
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
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
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
1
0
0
0
0
0
2
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
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
0
0
0
0
0
0
0
2
0
0
1
0
0
0
2
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
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
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
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
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
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
0
0
0
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
0
1
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
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
1
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
1
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
1
0
0
0
0
0
1
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
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
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
0
0
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
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
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
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
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
1
0
0
0
1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
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
0
0
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
1
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
2
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
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
2
0
0
1
0
0
1
0
0
0
0
0
1
0
2
0
0
1
1
0
3
0
0
3
2
1
2
1
2
3
1
0
2
0
1
2
1
1
1
1
2
2
2
3
2
0
3
4
2
2
2
0
0
1
2
1
1
1
2
0
3
2
3
1
2
1
1
1
0
1
0
0
2
2
0
0
0
1
2
2
1
2
3
1
2
0
1
0
0
1
0
1
0
0
0
2
0
0
1
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
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
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
1
1
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
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
0
0
0
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
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
2
0
0
0
0
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
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
1
0
0
1
1
0
0
1
0
0
2
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
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
1
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
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
2
0
1
0
0
0
0
0
0
0
0
1
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
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
2
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
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
1
0
1
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
1
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
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
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
2
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
0
0
0
1
1
0
0
0
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
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
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
1
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
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
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
1
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
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
1
1
0
0
0
0
1
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
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
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
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
1
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
1
0
0
0
1
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
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
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
2
1
0
0
0
1
0
0
1
0
2
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
2
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
2
1
2
0
2
0
1
0
0
1
2
0
0
0
1
0
2
2
1
1
2
1
2
0
0
1
0
0
0
1
0
0
3
1
1
3
1
2
2
0
0
1
0
4
0
4
1
1
0
4
4
2
2
1
1
2
3
5
3
2
1
3
1
1
5
2
7
5
4
2
5
8
7
6
2
10
4
8
8
11
8
6
9
9
6
8
14
9
10
11
13
10
12
13
15
15
15
11
16
11
16
16
15
18
20
20
20
18
15
20
21
14
34
19
28
17
22
22
26
19
22
27
23
25
23
23
24
22
26
21
16
20
22
16
21
20
19
18
16
10
14
12
13
18
5
8
9
7
13
6
9
10
9
8
5
10
4
1
4
1
4
3
1
1
0
2
4
0
0
2
0
1
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
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
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
1
0
0
0
0
0
2
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
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
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
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
2
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
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
1
0
0
0
0
1
1
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
1
0
1
1
0
0
0
1
0
0
0
1
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
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
1
1
1
0
0
1
0
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
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
1
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
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
2
1
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
1
0
0
1
0
0
0
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
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
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
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
0
0
1
0
0
1
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
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
2
0
1
0
1
0
0
2
1
0
0
1
1
0
0
1
1
2
0
0
0
0
0
0
0
2
1
0
2
1
2
0
4
3
2
0
2
0
5
0
4
2
4
2
2
1
2
6
1
2
3
8
1
2
3
2
4
2
3
1
1
3
1
4
8
2
2
5
4
5
2
4
6
2
4
4
5
2
7
2
6
3
2
6
2
4
3
4
4
1
9
3
3
2
3
2
5
1
5
2
3
0
4
3
0
1
1
1
2
0
2
1
1
4
1
0
2
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
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
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
2
0
0
0
2
2
0
1
0
2
0
1
0
0
2
1
0
1
0
1
0
1
1
2
0
1
1
0
3
0
0
1
3
4
1
1
1
3
1
0
5
2
2
3
5
3
5
3
5
4
6
1
1
1
5
2
2
1
4
3
4
4
1
5
5
1
5
0
2
6
1
0
2
2
3
1
2
0
2
2
2
1
3
1
1
