0
2
0
0
3
1
4
2
1
3
1
1
0
3
2
1
1
0
1
0
2
0
2
3
2
2
0
0
0
1
2
1
0
0
2
0
0
0
0
1
0
0
1
1
0
0
0
2
0
1
0
1
2
0
2
1
0
0
2
0
0
2
0
0
0
2
1
0
1
0
1
2
1
1
1
0
1
0
1
1
0
0
1
0
0
2
0
1
0
1
0
1
2
1
1
0
0
0
2
0
0
0
1
0
0
0
1
3
1
0
0
1
0
0
0
1
0
1
1
0
0
0
2
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
2
0
0
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
0
0
0
0
1
1
2
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
0
1
0
0
0
0
4
0
0
1
0
2
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
1
0
3
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
2
0
0
0
0
0
0
1
0
1
1
0
1
0
1
2
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
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
1
1
0
1
0
0
0
1
0
0
1
0
0
2
1
1
0
0
1
0
0
0
0
0
0
0
0
2
0
1
2
0
0
0
0
0
0
1
0
3
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
2
0
0
0
1
0
1
0
0
2
1
3
0
2
0
0
1
2
1
1
0
2
1
0
0
0
0
0
0
1
1
1
0
0
0
1
2
1
0
0
0
2
0
0
3
0
0
0
2
0
3
1
1
1
1
0
0
0
1
0
0
0
1
1
2
1
1
0
1
2
4
1
0
0
1
0
0
2
2
2
2
0
3
0
0
0
1
0
1
1
1
1
4
1
1
2
1
1
1
1
2
1
1
2
0
2
4
2
2
3
1
3
0
0
0
3
2
2
1
3
0
2
1
1
1
1
2
1
3
2
3
3
7
2
0
0
6
4
1
6
0
3
2
3
1
5
5
2
1
4
5
6
3
2
2
4
4
3
5
3
5
7
6
4
4
4
3
7
4
6
2
5
6
11
6
2
0
7
5
10
7
12
9
9
8
6
12
5
7
10
10
4
9
15
10
9
12
15
13
11
17
12
16
18
19
18
19
17
15
26
18
11
31
23
26
20
23
26
27
40
23
44
36
25
32
23
35
34
34
34
30
53
29
37
32
45
36
39
46
47
45
46
52
37
54
49
55
52
51
61
48
60
53
52
61
52
57
61
48
62
58
55
64
62
65
57
43
45
49
64
75
49
46
71
47
51
49
64
53
55
65
63
62
51
55
55
60
80
65
62
61
50
68
49
62
66
41
63
45
53
55
44
57
46
38
61
40
41
35
42
41
49
49
37
23
34
27
27
23
21
26
17
22
12
10
20
17
15
14
9
14
14
10
4
7
9
6
3
5
2
0
1
2
2
1
1
1
4
3
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
2
3
0
1
1
1
0
0
0
0
1
0
1
0
2
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
2
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
3
3
0
1
2
0
1
0
0
1
0
1
0
0
2
1
3
0
1
2
0
4
2
0
0
4
1
0
0
0
2
2
0
0
1
3
2
1
1
2
0
0
0
3
1
1
3
0
3
2
2
2
2
2
1
1
1
0
1
3
1
3
0
1
3
0
2
0
4
0
0
2
1
5
5
1
2
1
3
2
3
3
2
0
1
1
5
2
1
1
0
1
4
2
4
1
1
1
2
6
2
0
3
6
1
2
1
4
4
6
2
7
4
2
2
4
4
4
5
5
6
5
7
11
5
7
4
5
8
11
8
9
11
13
15
17
18
11
12
11
8
10
11
15
21
10
15
13
25
20
21
18
28
18
22
28
20
18
19
30
17
20
22
29
16
22
25
24
23
19
26
27
34
29
18
22
31
22
30
26
29
33
35
27
29
29
29
25
29
24
26
27
24
22
17
22
21
19
17
22
16
20
22
24
20
17
13
11
9
10
13
7
15
11
12
6
8
13
16
6
10
7
6
4
1
6
7
6
1
8
3
4
4
2
0
6
1
2
3
1
1
4
1
3
4
2
3
3
6
0
3
3
1
2
3
3
2
2
2
4
5
4
3
3
3
2
4
3
4
7
6
2
3
3
3
2
11
0
6
3
5
5
3
3
3
4
5
3
3
6
6
2
5
8
7
7
5
7
2
11
4
5
8
5
10
7
8
6
13
7
14
11
10
13
10
6
8
10
10
8
18
11
12
12
9
21
18
9
15
25
18
9
14
18
18
16
17
22
23
16
28
33
12
27
22
23
19
15
22
20
22
23
19
22
24
30
31
23
28
21
26
29
26
26
24
23
17
27
21
25
15
29
21
23
16
17
15
21
25
19
30
25
10
25
17
23
28
22
29
27
27
19
44
33
40
33
44
31
40
43
45
45
51
44
52
49
48
56
67
70
67
67
71
87
77
73
73
93
73
83
67
98
89
102
95
116
108
85
107
107
117
122
113
126
125
133
114
117
119
117
129
133
128
121
119
126
120
125
136
123
124
113
138
104
111
111
130
112
109
111
110
100
97
103
78
91
83
86
60
84
65
49
45
52
51
51
64
34
58
36
30
29
27
26
18
27
15
16
11
16
15
14
12
7
4
4
3
4
2
5
2
2
3
1
4
1
2
3
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
2
0
0
1
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
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
1
0
0
0
0
0
1
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
2
0
1
0
0
0
0
3
2
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
2
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
2
0
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
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
2
0
0
0
2
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
2
0
1
1
0
0
1
0
1
1
1
0
2
0
2
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
2
0
2
0
0
1
0
0
2
0
0
0
1
0
0
0
0
1
0
4
1
0
1
1
1
0
0
4
0
1
2
0
1
2
1
1
2
1
1
1
1
0
0
2
3
0
1
1
2
3
1
0
0
1
1
0
0
1
0
2
0
0
0
0
0
0
1
0
0
3
0
1
0
0
2
1
0
0
2
0
1
1
0
0
0
0
1
0
0
1
1
3
0
0
2
2
0
1
1
3
0
0
1
1
3
0
0
0
2
1
3
2
3
0
1
2
3
2
2
1
2
1
3
0
0
0
1
4
0
2
0
0
0
2
3
1
3
4
0
0
1
2
3
1
0
0
1
2
2
1
1
0
1
3
3
1
3
0
0
4
2
3
2
1
3
1
1
2
0
0
0
0
1
1
0
0
0
1
2
0
1
2
1
0
3
2
1
1
2
1
0
0
3
2
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
3
0
0
1
0
1
1
3
2
1
1
1
3
2
0
1
0
0
3
1
3
2
1
1
0
1
3
0
1
1
0
1
2
3
3
2
0
2
1
1
0
1
0
2
2
2
0
2
0
0
3
1
1
2
3
0
1
0
0
2
2
1
1
0
1
1
1
2
0
2
2
2
2
1
0
1
2
3
3
2
1
4
2
2
1
2
3
1
4
0
0
3
1
4
3
3
1
2
3
1
1
0
3
1
4
2
2
3
3
2
2
4
0
1
3
5
1
2
1
1
3
0
3
1
2
3
5
1
2
5
3
2
5
3
2
5
8
5
1
3
4
4
0
5
3
1
7
8
3
1
7
7
2
5
6
5
2
2
6
1
3
4
10
6
3
7
6
1
5
7
3
4
5
4
6
8
9
5
6
5
8
2
8
6
4
8
7
5
16
5
7
5
11
8
5
4
6
7
8
6
9
4
10
3
8
5
7
7
7
4
7
9
6
7
5
4
14
7
7
14
9
5
14
6
7
4
10
9
4
12
16
8
8
9
12
5
5
7
8
8
9
7
6
7
10
7
9
9
11
4
7
7
4
8
8
8
4
4
8
8
7
6
10
6
11
3
6
9
8
5
9
6
9
7
7
6
9
5
7
10
9
7
10
8
5
8
10
4
0
8
4
2
6
5
11
4
8
2
5
16
10
6
9
5
6
10
5
7
11
9
8
6
8
5
10
11
9
5
5
12
15
6
6
13
10
13
13
14
13
6
9
10
14
9
11
15
9
12
19
8
12
8
14
10
26
9
13
15
18
13
16
18
13
9
15
20
10
17
20
22
22
12
13
14
14
17
18
10
24
26
23
17
18
21
25
26
17
11
16
17
28
24
20
20
27
15
25
9
23
19
33
27
21
22
20
22
24
20
29
24
18
25
21
23
30
23
25
18
23
26
26
19
26
14
17
20
25
24
22
27
25
21
24
22
24
20
17
14
29
25
15
25
13
20
30
25
40
25
24
24
29
32
28
27
23
40
29
27
26
36
21
31
28
37
26
26
37
37
32
45
30
33
26
33
30
32
32
27
32
38
32
39
45
23
38
35
34
42
35
49
52
42
29
45
41
38
38
52
46
46
41
30
34
40
53
46
51
53
49
54
47
45
41
52
55
51
48
64
50
47
52
56
51
53
48
61
50
57
53
62
49
68
55
74
55
54
57
50
52
70
60
56
67
68
62
62
64
62
65
84
74
80
71
67
79
66
66
100
69
89
66
79
86
75
84
81
92
89
90
88
100
94
107
102
98
107
99
117
101
102
90
116
113
115
122
109
110
132
122
114
97
118
129
125
125
108
139
138
147
138
150
143
140
145
157
147
167
168
182
164
171
174
172
166
199
172
204
224
216
212
210
199
190
220
226
229
214
215
252
269
246
244
238
251
245
261
267
262
289
303
284
285
290
282
319
258
283
330
292
307
297
323
324
347
333
378
335
375
354
350
401
402
416
379
402
406
436
427
478
471
466
419
453
498
504
488
507
526
544
533
557
529
554
609
524
561
609
610
629
655
621
666
670
688
752
703
774
753
744
799
768
786
837
810
869
827
867
925
920
910
937
949
994
999
953
1062
1019
1072
1142
1148
1151
1150
1238
1262
1282
1349
1345
1342
1459
1470
1432
1567
1565
1668
1642
1703
1740
1819
1840
2014
1992
2139
2250
2203
2362
2526
2637
2655
2744
2938
3023
3144
3394
3639
3737
3795
4098
4358
4537
4963
5138
5455
5830
6145
6496
7052
7329
7518
8425
8860
9479
9997
10364
11006
11624
12396
12976
13658
14014
14706
15577
16094
16567
17184
17796
18641
19174
19272
19759
20696
21091
21542
21744
21876
22291
22666
22848
23023
23721
23931
23775
24011
24500
24629
25159
25105
25559
25600
25936
26292
26780
27063
27117
27465
27471
27474
27267
27830
27697
27605
27049
27121
26491
26064
25658
24637
24286
23968
22857
21621
20743
19789
19361
18338
17256
16174
15360
14386
13369
12482
11648
10885
10226
9206
8587
7613
7388
6644
5977
5421
5119
4415
4088
3493
3147
2740
2327
2160
1825
1563
1370
1131
988
779
632
477
430
341
256
217
158
139
86
67
50
54
31
21
20
10
12
6
11
6
6
6
4
5
6
5
4
8
8
7
5
6
12
17
16
7
14
8
10
8
7
4
20
7
12
14
22
13
16
15
16
17
22
14
10
26
14
18
23
26
19
25
31
30
21
24
19
25
26
35
25
25
29
32
32
33
31
34
29
27
37
33
33
24
29
22
28
26
20
26
15
22
15
19
16
22
15
13
17
12
10
12
7
12
3
8
8
4
3
4
1
7
3
3
2
1
2
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
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
2
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
1
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
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
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
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
0
0
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
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
1
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
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
0
0
0
0
0
0
0
0
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
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
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
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
1
1
1
0
1
1
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
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
1
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
0
1
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
1
3
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
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
0
0
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
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
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
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
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
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
1
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
0
0
1
0
0
0
0
1
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
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
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
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
1
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
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
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
1
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
1
0
0
1
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
0
0
0
0
0
0
1
1
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
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
1
0
0
0
0
0
2
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
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
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
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
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
1
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
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
1
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
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
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
0
0
0
2
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
1
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
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
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
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
0
0
0
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
1
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
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
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
0
0
0
0
0
0
0
0
2
1
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
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
1
1
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
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
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
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
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
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
0
0
0
0
0
1
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
0
0
0
0
0
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
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
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
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
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
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
0
0
0
0
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
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
0
0
0
1
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
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
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
0
0
0
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
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
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
1
0
0
0
0
1
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
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
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
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
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
1
0
0
1
0
1
1
1
0
2
0
1
0
1
1
1
0
2
0
0
1
0
1
1
1
1
1
0
1
0
1
0
2
2
0
0
3
0
2
0
1
2
2
1
1
1
1
0
1
0
0
0
1
0
1
2
2
3
2
0
1
0
1
2
1
0
0
0
1
2
1
1
2
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
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
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
1
0
0
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
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
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
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
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
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
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
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
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
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
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
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
1
0
0
1
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
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
1
1
0
0
0
0
0
0
1
1
0
1
1
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
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
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
0
0
0
0
0
0
0
0
0
1
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
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
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
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
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
0
1
0
0
0
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
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
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
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
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
1
1
0
0
0
0
1
0
0
0
1
0
1
2
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
1
0
0
0
2
0
0
1
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
1
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
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
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
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
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
1
0
0
0
0
0
1
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
0
0
1
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
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
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
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
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
1
1
2
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
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
0
0
1
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
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
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
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
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
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
0
0
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
2
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
2
1
0
0
0
2
1
1
0
0
1
1
1
1
1
0
0
0
2
2
0
0
0
1
0
0
0
1
0
2
1
1
0
2
3
1
0
3
1
2
0
1
0
3
2
0
1
0
2
0
3
3
3
1
3
2
1
2
0
2
0
2
4
1
1
0
1
4
3
1
2
6
2
1
3
3
3
3
4
6
2
2
1
2
6
4
3
2
4
1
3
3
4
3
7
2
5
4
4
3
5
10
5
6
5
4
4
9
3
5
4
8
11
6
11
12
13
11
11
18
14
14
6
16
12
11
16
9
24
15
16
14
21
19
11
15
25
23
15
24
27
21
17
23
25
16
21
25
22
27
36
24
27
26
25
21
26
29
16
26
27
25
31
32
29
26
21
29
34
30
30
21
26
21
24
17
17
30
15
14
18
19
13
18
14
9
4
3
9
11
9
4
5
5
5
9
9
3
4
4
4
2
1
1
5
1
1
1
2
1
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
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
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
2
0
2
0
0
0
0
0
1
0
0
1
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
0
0
0
0
0
0
0
1
0
0
0
1
1
2
0
1
0
1
0
1
1
1
0
0
0
0
0
0
2
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
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
2
1
0
1
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
1
0
0
0
0
2
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
2
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
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
3
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
2
1
0
1
0
0
0
0
1
0
1
2
1
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
2
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
3
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
2
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
1
2
0
2
0
1
2
0
0
1
1
2
0
1
0
1
4
3
0
0
0
1
3
0
0
3
1
1
3
1
1
3
1
0
1
1
0
2
3
5
3
6
2
4
2
2
3
5
9
8
4
1
3
4
3
2
7
6
4
5
3
3
5
8
6
3
6
0
3
3
1
6
8
4
3
2
7
3
5
6
5
1
3
8
8
6
5
2
6
6
7
9
3
4
3
4
6
4
4
6
5
4
3
2
1
4
2
0
2
2
1
3
0
1
1
0
2
0
6
1
0
2
1
2
2
2
2
1
2
0
0
0
0
2
0
1
0
1
1
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
3
0
1
0
0
0
2
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
2
0
0
1
1
0
0
0
0
1
0
1
2
1
0
2
0
4
1
1
3
0
0
0
2
4
2
1
1
1
1
0
1
1
0
0
1
2
1
3
2
2
2
3
1
0
2
1
3
0
1
3
3
1
4
3
0
0
1
7
1
1
6
2
5
1
3
4
4
3
5
3
1
4
5
2
3
2
1
3
1
2
1
2
2
1
0
4
4
