0
0
1
0
1
0
1
0
0
0
1
1
2
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
1
0
1
1
0
0
0
0
1
2
0
0
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
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
0
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
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
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
0
0
2
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
2
1
0
0
1
0
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
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
2
0
0
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
0
0
1
0
0
0
0
0
0
1
1
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
1
0
3
0
1
0
1
1
2
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
3
0
0
1
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
2
1
0
0
0
3
0
0
2
1
0
3
1
2
0
1
1
0
0
1
1
2
1
3
3
1
1
0
0
3
1
2
2
4
2
1
0
1
2
0
3
1
0
3
0
1
0
2
1
0
2
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
2
0
1
3
0
4
1
1
0
2
3
2
3
2
3
0
4
0
0
1
1
3
3
5
2
1
1
4
1
2
2
4
3
3
2
2
1
3
0
1
3
3
1
6
2
2
2
3
1
7
6
4
2
7
3
3
6
2
5
0
3
6
3
4
2
3
2
2
9
5
5
1
8
3
6
4
6
3
4
1
7
6
5
7
4
8
6
5
4
6
10
8
6
14
4
9
5
9
7
8
4
7
3
11
4
8
8
8
10
12
9
7
2
8
7
7
11
9
9
8
11
7
10
10
9
11
18
12
5
10
10
11
13
10
12
10
9
14
10
16
14
14
17
13
15
17
17
13
14
17
15
18
13
20
21
16
19
23
25
22
13
18
19
16
24
24
32
25
30
25
24
27
25
27
24
27
27
31
26
35
31
23
32
36
44
36
36
31
37
28
35
45
33
51
56
42
47
42
46
53
59
52
55
66
53
62
73
79
84
73
66
88
109
109
100
119
120
113
137
146
136
158
158
183
189
198
210
225
249
278
296
286
300
338
335
373
354
431
450
441
455
480
559
508
520
573
604
584
592
598
644
674
639
705
698
698
665
728
760
716
718
774
791
738
857
818
821
850
866
842
869
862
923
854
915
899
882
885
876
893
957
808
840
888
812
772
737
751
752
655
688
635
658
572
544
551
537
490
453
432
361
369
341
304
282
253
220
236
186
170
168
133
134
109
107
89
83
81
64
56
48
34
27
24
17
12
15
9
13
7
8
2
4
4
3
2
1
1
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
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
2
1
0
1
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
3
1
0
0
0
0
0
1
2
0
2
2
2
2
0
0
1
1
2
1
2
0
0
1
1
2
3
2
1
2
0
0
2
0
3
1
2
1
4
5
2
1
4
4
3
4
2
2
4
3
1
8
3
1
2
8
5
2
7
2
8
6
8
7
7
9
6
11
9
7
6
5
9
11
12
5
7
8
14
7
9
11
8
10
11
5
13
11
13
7
10
19
9
11
5
11
6
20
11
11
6
8
11
14
10
9
11
18
6
7
12
8
7
9
11
11
7
7
5
3
3
6
5
7
4
3
3
1
1
1
3
2
1
1
2
2
2
4
5
0
2
3
1
1
1
2
2
0
0
0
0
0
1
2
0
0
1
1
3
0
0
1
0
1
3
0
1
2
3
1
1
1
2
0
2
1
1
0
2
0
0
1
1
2
0
1
0
0
2
0
1
1
3
1
3
0
1
5
0
2
1
1
0
2
0
0
2
0
6
2
1
2
3
2
3
0
3
1
6
2
1
3
3
5
3
3
2
7
2
2
5
5
11
4
4
4
4
6
9
9
7
1
4
4
6
1
5
7
8
5
4
6
11
9
6
3
8
5
5
7
8
10
5
9
8
8
10
9
3
5
9
8
13
12
8
6
12
9
9
7
13
9
4
10
10
9
5
9
8
6
10
4
9
11
6
12
7
12
13
11
11
6
6
6
8
11
10
12
14
10
12
13
14
12
13
20
15
14
9
28
10
26
28
19
25
33
27
20
31
28
25
30
28
38
27
36
29
36
44
29
37
44
40
38
36
39
39
44
38
49
46
52
51
45
39
47
48
45
47
52
50
44
42
40
42
48
48
43
51
31
54
40
38
28
38
43
29
30
37
30
24
28
25
34
26
22
20
18
22
18
15
23
15
13
10
12
6
14
3
7
8
3
6
1
1
2
3
1
4
3
3
0
0
1
0
3
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
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
2
0
0
0
1
0
1
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
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
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
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
1
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
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
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
1
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
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
1
0
0
0
0
0
2
0
0
1
1
3
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
2
0
2
0
0
1
0
1
1
1
1
0
0
0
2
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
2
1
1
1
2
0
1
0
1
0
0
1
1
0
1
0
0
0
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
2
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
2
0
1
1
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
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
1
0
0
0
1
0
0
0
0
0
2
1
2
0
1
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
2
1
0
3
1
0
2
2
3
0
1
0
0
0
1
0
0
1
1
0
2
0
1
0
2
1
1
0
0
1
2
4
0
0
1
1
1
0
1
0
0
0
2
1
1
0
0
1
0
4
2
0
0
2
2
3
1
0
0
2
1
0
0
0
0
5
1
1
1
3
3
2
0
3
0
1
0
4
1
2
2
0
1
1
1
1
3
2
1
2
1
2
2
2
2
2
1
0
2
2
1
1
0
0
0
0
2
2
2
0
3
1
3
2
0
3
0
2
3
1
3
2
1
1
1
3
1
3
3
2
1
2
1
3
2
0
3
1
1
1
2
1
3
0
2
0
2
1
5
0
3
2
1
1
0
0
0
1
3
0
3
0
0
2
1
2
2
1
0
1
3
0
3
2
2
1
0
4
1
2
3
0
0
1
2
2
3
1
1
2
2
0
3
1
2
1
2
1
7
0
3
4
0
3
1
0
4
4
0
0
3
1
4
3
0
3
2
4
1
4
0
5
4
2
2
2
3
1
2
2
1
2
4
0
1
2
3
6
1
2
2
3
2
2
3
5
4
5
2
5
2
6
3
4
3
0
1
3
2
6
3
6
3
5
4
3
9
2
3
5
4
1
3
3
4
2
5
2
5
5
5
1
5
2
2
6
5
4
3
8
3
4
3
7
4
4
6
1
6
3
4
6
3
6
4
3
5
7
5
5
6
4
6
6
2
1
4
5
4
5
8
7
4
4
7
4
6
5
8
6
5
7
10
9
7
7
4
3
8
12
7
2
6
6
6
2
2
9
7
6
13
6
7
9
8
8
3
16
8
9
9
15
8
8
10
6
16
14
6
8
7
11
15
9
13
10
6
6
10
10
15
7
13
15
9
6
14
10
8
18
8
15
11
18
7
20
17
14
22
13
18
15
6
8
12
14
15
12
17
15
8
15
10
11
12
12
21
18
21
17
14
11
20
16
20
14
18
19
21
15
22
22
22
21
15
21
13
21
23
30
23
18
20
21
26
11
41
26
30
21
24
23
25
23
25
33
27
26
25
31
20
25
36
35
41
29
29
28
26
39
29
29
29
34
43
27
33
43
35
50
41
38
43
50
48
34
48
42
50
47
34
52
56
65
55
57
56
64
49
50
60
66
57
46
61
65
73
74
71
64
74
94
80
89
69
71
83
83
92
67
90
89
91
94
102
102
102
102
83
102
85
98
98
122
124
106
115
108
92
127
103
123
129
110
128
117
125
152
144
136
129
145
163
133
151
152
146
157
158
125
157
167
181
152
167
180
178
212
200
188
189
215
210
212
200
211
235
226
243
222
233
263
266
286
281
240
255
289
301
312
298
314
308
288
308
303
370
352
349
361
358
386
375
424
439
436
408
440
465
473
517
496
550
581
598
620
581
637
666
676
696
694
667
761
848
879
930
972
980
1041
1139
1120
1155
1249
1335
1387
1532
1677
1753
1897
1927
2102
2199
2408
2477
2734
2848
2977
3295
3357
3708
3861
4098
4291
4560
4767
5064
5299
5460
5787
6099
6232
6361
6856
7064
7197
7504
7587
7879
8063
8192
8466
8579
8660
8895
8733
9145
9209
9228
9264
9642
9488
9506
9698
9794
10048
10165
10078
10369
10262
10653
10754
10611
10883
10936
11052
10954
10806
10734
10861
10858
10601
10431
10173
9976
9858
9468
9216
8831
8371
8097
7842
7286
6961
6442
6067
5870
5524
5013
4645
4312
4039
3725
3419
3156
2923
2700
2466
2174
2011
1775
1616
1474
1189
1108
1016
863
746
619
520
458
392
311
278
234
164
131
103
83
81
56
38
20
21
17
12
8
8
1
4
2
1
0
1
1
1
0
2
0
0
0
3
1
1
0
2
1
1
1
1
0
4
1
2
3
2
2
3
1
2
4
5
1
1
1
2
3
2
2
2
3
1
3
4
4
3
4
4
4
7
6
2
6
3
2
5
8
3
8
5
7
2
6
6
2
2
6
4
4
7
6
2
3
5
3
3
1
5
3
3
2
1
1
1
2
4
3
0
2
0
3
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
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
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
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
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
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
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
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
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
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
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
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
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
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
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
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
0
0
0
0
1
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
1
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
1
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
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
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
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
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
0
0
0
0
0
0
1
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
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
1
0
0
1
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
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
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
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
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
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
1
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
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
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
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
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
2
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
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
0
0
0
0
0
0
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
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
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
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
0
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
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
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
1
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
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
1
0
0
0
0
0
1
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
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
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
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
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
1
0
0
0
0
0
0
1
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
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
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
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
1
0
0
1
1
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
0
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
0
0
0
0
0
0
0
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
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
1
0
0
2
0
0
1
0
2
0
1
0
1
0
2
0
0
0
0
0
0
0
0
1
0
3
0
0
1
0
0
1
1
1
0
2
1
1
1
1
0
1
1
1
0
0
2
1
4
2
0
0
1
0
0
1
1
2
4
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
2
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
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
1
0
0
1
0
0
1
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
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
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
1
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
0
0
0
0
0
1
0
0
1
0
0
1
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
1
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
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
1
0
0
0
0
3
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
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
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
1
0
0
1
0
0
1
1
0
0
0
2
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
0
0
0
0
0
0
0
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
1
2
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
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
0
0
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
0
0
0
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
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
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
1
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
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
0
1
0
0
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
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
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
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
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
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
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
0
0
0
0
0
0
0
0
0
2
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
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
0
0
0
0
0
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
1
0
0
0
0
1
0
0
0
0
1
0
0
2
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
1
0
0
0
0
0
0
0
2
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
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
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
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
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
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
1
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
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
1
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
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
1
0
0
0
0
1
0
0
0
1
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
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
3
1
0
0
1
0
0
2
2
0
0
1
0
1
0
0
0
0
0
0
2
0
0
1
0
0
1
0
1
0
0
1
1
0
2
2
0
2
3
2
0
1
1
1
1
2
2
0
0
0
0
0
1
1
2
0
0
0
1
2
0
2
1
2
2
2
1
3
3
2
1
1
0
0
0
1
5
3
0
2
1
1
3
4
3
1
4
1
4
4
6
4
9
11
3
8
7
4
7
5
9
14
8
8
9
7
10
12
9
11
14
14
12
8
10
12
15
23
15
12
23
19
15
14
19
22
11
18
17
23
20
19
27
23
20
14
28
14
18
18
18
27
21
26
19
20
19
28
14
27
25
18
28
19
24
22
20
15
26
20
22
19
16
9
20
19
21
26
13
24
14
15
10
10
13
10
12
7
3
8
6
6
5
5
3
2
2
3
3
1
1
2
2
1
1
0
1
1
1
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
2
0
1
0
0
1
0
2
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
0
0
1
0
0
0
1
1
1
1
1
0
0
2
0
0
0
0
0
0
0
0
0
1
2
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
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
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
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
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
1
2
0
0
1
2
1
0
0
0
0
0
0
1
0
0
0
1
0
2
1
1
1
1
0
1
0
1
2
2
1
1
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
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
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
2
0
0
1
0
1
0
1
0
1
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
2
0
2
0
0
0
2
1
0
0
0
0
0
0
0
1
0
1
0
0
2
0
0
2
0
0
0
1
0
0
3
1
0
0
0
2
0
1
1
1
4
0
2
0
2
2
0
0
2
0
0
0
1
1
0
0
1
1
1
3
2
1
0
0
1
1
3
0
1
0
0
1
2
0
0
6
2
2
3
2
3
2
0
3
1
1
4
1
3
5
1
2
0
1
4
4
4
1
2
2
4
3
1
2
3
5
3
2
2
6
3
4
0
2
3
4
3
4
5
3
3
4
3
1
2
4
1
6
4
3
3
4
4
0
4
3
4
3
1
1
2
2
3
1
2
1
0
0
1
2
1
1
3
1
2
0
0
2
0
1
1
0
0
0
0
2
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
2
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
1
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
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
1
0
0
0
1
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
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
3
1
0
2
1
0
0
1
1
0
1
2
1
2
0
2
1
0
0
0
3
0
3
2
3
1
3
1
1
0
0
3
2
4
1
2
2
3
1
1
3
3
1
1
1
2
3
2
4
2
0
0
2
2
1
4
2
1
1
0
2
0
2
2
1
4
1
2
2
1
0
0
2
1
1
0
2
0
1
0
0
2
1
0
0
0
0
1
0
0
0
0
3
2
2
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
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
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
2
0
0
2
0
0
0
0
1
0
3
1
0
1
0
1
0
0
0
2
1
0
1
2
1
0
0
1
1
2
3
3
3
1
1
4
1
0
1
0
1
0
3
0
4
1
4
4
2
0
2
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
3
0
2
0
0
0
2
0
1
1
0
0
