0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
2
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
2
1
0
0
1
1
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
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
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
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
1
0
0
1
0
0
0
2
0
0
0
1
0
1
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
2
1
0
0
2
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
2
2
1
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
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
1
1
1
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
2
0
0
0
2
2
2
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
2
1
0
3
0
0
0
1
0
0
1
1
1
0
1
1
2
1
1
0
2
0
0
1
0
1
0
0
1
2
2
1
0
0
1
0
3
1
2
0
0
0
1
1
1
1
2
2
1
2
2
0
0
3
0
4
2
0
2
0
2
2
1
1
2
0
1
0
2
0
0
0
0
0
1
0
0
0
2
2
2
2
0
1
1
4
0
0
0
2
1
0
1
3
3
1
2
4
3
2
1
1
0
1
2
3
1
2
2
4
2
3
2
1
2
2
2
1
0
2
1
0
2
1
2
2
4
2
0
3
1
2
3
2
5
0
1
2
2
1
1
2
3
2
3
1
3
3
3
4
1
2
4
0
2
4
4
1
3
1
1
4
5
1
2
3
5
3
4
4
8
2
4
4
5
3
1
7
5
4
5
10
2
5
7
6
2
5
5
1
2
5
3
9
4
7
11
5
5
4
5
5
6
8
7
9
6
6
2
6
10
4
8
9
6
6
6
8
11
6
18
7
11
6
8
6
14
5
9
17
6
12
13
15
12
13
12
6
10
11
10
10
14
22
10
17
21
12
10
14
12
8
16
14
17
20
19
17
6
23
18
18
19
17
25
14
23
22
17
24
18
22
22
20
33
17
30
33
22
29
26
27
28
26
23
23
30
25
33
44
36
35
46
25
26
42
39
40
28
49
52
51
42
51
57
46
47
51
57
64
62
57
69
49
76
68
82
69
77
90
88
100
99
101
107
116
123
138
137
153
131
156
200
180
208
212
227
230
256
256
262
289
341
335
369
369
382
441
468
493
493
556
539
582
614
568
646
604
663
651
728
714
741
725
822
720
768
774
814
806
845
881
840
799
809
827
839
932
904
918
879
846
999
927
986
919
993
989
897
992
951
951
959
922
912
900
918
853
809
828
811
740
716
668
631
636
544
598
494
509
476
423
390
395
337
297
299
262
251
245
192
200
168
162
130
133
87
100
78
68
69
67
43
38
35
30
26
20
18
10
7
12
5
4
3
3
0
2
2
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
2
0
0
1
0
2
0
0
0
2
0
0
1
0
0
0
1
0
0
2
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
2
1
0
0
0
1
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
2
0
2
1
2
0
2
0
0
0
0
0
1
0
1
0
2
0
1
0
3
1
1
2
2
0
1
1
2
1
1
1
1
3
0
1
0
1
2
3
4
2
1
2
7
1
5
1
1
1
2
2
3
6
3
3
5
4
6
6
6
3
4
4
4
3
1
5
7
5
7
10
6
9
6
12
9
4
10
7
12
7
6
7
11
9
7
8
4
11
13
6
10
11
12
7
16
11
9
8
10
13
5
11
5
10
9
8
5
7
7
9
6
9
9
9
5
7
6
8
5
5
11
5
3
1
7
7
3
4
5
2
2
6
3
3
4
4
8
1
4
2
1
3
2
4
3
2
0
2
0
1
1
2
0
1
2
0
0
1
2
0
0
0
1
1
0
1
0
0
0
3
1
1
1
1
0
0
0
1
1
0
3
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
1
2
3
1
3
6
0
1
3
4
2
0
2
1
1
2
4
2
3
1
1
2
3
3
5
1
2
7
4
1
1
3
3
1
4
6
9
6
3
4
5
5
9
6
4
7
10
8
5
7
8
4
7
7
11
10
4
7
4
10
6
8
6
7
6
6
5
6
7
7
7
3
6
4
7
12
6
9
10
7
9
5
6
9
5
7
10
5
5
3
11
11
4
3
5
15
5
14
8
10
7
10
11
8
19
16
16
9
13
14
11
10
15
13
10
20
18
11
21
17
21
14
25
18
20
21
26
26
17
25
26
41
23
34
23
29
36
33
32
30
49
30
36
33
39
39
35
31
39
42
40
45
52
45
48
45
47
48
43
40
38
36
25
49
33
47
49
44
42
48
44
46
33
30
26
32
34
37
30
22
28
28
22
25
19
15
20
21
14
10
14
9
11
6
7
10
10
17
9
11
4
6
4
3
4
4
2
2
1
1
3
2
1
3
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
2
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
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
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
1
0
0
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
1
0
0
0
0
0
0
0
0
0
2
3
1
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
1
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
0
0
0
0
0
1
1
1
0
0
1
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
1
0
0
2
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
2
1
0
0
0
1
1
1
2
0
0
0
0
0
0
0
0
0
2
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
2
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
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
1
0
0
1
0
1
0
0
0
1
0
1
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
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
0
1
2
0
0
0
0
0
0
0
1
0
1
0
0
0
2
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
2
1
0
1
0
2
1
0
1
0
1
1
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
2
1
2
1
1
1
0
1
1
1
0
0
1
1
3
1
1
1
0
2
1
0
0
3
3
3
1
1
1
1
1
0
1
0
2
0
5
2
0
1
1
0
0
1
2
0
0
0
3
1
1
3
0
1
1
1
0
0
2
2
0
1
3
3
1
1
1
2
1
0
0
0
1
2
0
1
0
1
1
1
3
0
0
0
1
0
4
0
2
0
0
2
0
2
1
0
1
1
1
1
0
2
0
4
0
4
4
0
2
1
2
1
3
2
0
0
2
0
2
0
0
2
1
1
0
1
2
2
0
2
2
1
1
2
1
1
2
2
0
2
1
3
2
0
1
1
2
4
2
1
1
3
2
1
2
3
3
4
1
2
2
3
2
0
1
2
5
3
3
3
2
1
1
1
1
1
6
3
1
1
5
3
4
1
1
1
3
4
2
3
1
1
0
2
3
2
4
4
0
0
4
0
3
3
2
3
2
5
1
2
1
1
2
3
3
4
0
3
1
5
5
4
6
2
5
5
4
3
1
1
1
2
2
5
2
6
5
3
3
5
4
5
2
3
2
5
2
2
0
2
6
3
3
2
3
3
5
4
4
2
2
5
1
6
4
5
3
1
2
7
6
3
7
5
2
0
4
3
4
6
1
4
3
1
3
3
3
3
9
4
4
5
4
9
10
5
6
5
10
6
7
4
5
6
3
2
5
5
4
5
8
2
4
2
8
8
9
5
4
6
6
10
8
6
8
11
4
8
8
15
4
6
5
10
7
8
14
8
8
9
9
16
12
11
10
13
8
14
11
6
6
7
9
6
11
10
8
8
17
10
3
12
10
14
8
10
10
9
12
14
17
14
19
16
12
12
15
18
15
18
16
12
23
11
15
8
19
14
24
19
19
11
29
19
22
16
26
24
14
15
16
23
20
18
23
17
22
20
21
26
11
24
22
19
28
29
24
25
35
28
27
40
24
28
36
42
23
28
33
36
33
32
40
43
38
41
45
34
47
39
58
39
51
52
36
46
51
42
45
38
52
52
51
54
62
52
67
57
58
66
72
65
61
55
73
69
67
68
76
52
73
78
84
83
71
68
75
99
71
82
73
74
81
102
88
97
93
87
97
107
89
116
100
121
94
108
98
119
123
110
119
116
115
100
123
125
146
145
121
121
133
141
151
140
155
168
139
163
161
156
145
177
171
193
196
201
183
190
186
208
211
195
217
219
227
212
220
227
246
260
261
233
257
277
293
322
314
303
334
311
327
328
336
353
378
408
377
408
418
454
503
481
488
538
543
550
593
606
646
653
688
714
792
801
859
883
926
1003
1085
1125
1188
1332
1378
1493
1524
1704
1703
1854
2006
2142
2272
2372
2566
2797
2794
3052
3178
3378
3467
3670
4028
4136
4367
4497
4633
5000
5167
5293
5437
5543
5826
6053
6036
6140
6261
6570
6699
6705
6819
6906
7094
7103
7121
7401
7314
7412
7551
7611
7634
7646
8006
8003
8167
8027
8178
8239
8143
8467
8356
8440
8414
8487
8506
8448
8380
8228
7944
7897
7746
7415
7309
7069
6659
6558
6164
5847
5576
5255
5062
4825
4460
4177
3875
3714
3531
3143
2905
2688
2574
2280
2134
2008
1734
1534
1461
1296
1258
1067
916
793
731
565
508
523
379
367
308
233
206
163
139
120
88
69
58
49
33
27
15
14
18
6
5
5
2
3
1
0
2
1
0
0
1
4
0
0
1
1
1
2
2
2
0
3
1
0
0
0
2
1
1
2
0
1
0
3
0
2
0
0
0
1
2
4
2
1
1
1
5
1
0
5
0
1
1
2
2
7
3
4
2
4
1
3
2
2
2
1
4
2
2
4
1
3
3
2
1
2
5
1
3
2
7
0
0
4
3
2
2
0
1
4
0
2
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
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
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
0
1
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
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
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
1
1
1
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
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
1
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
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
1
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
1
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
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
2
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
1
0
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
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
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
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
1
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
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
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
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
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
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
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
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
1
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
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
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
0
0
0
0
0
0
0
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
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
0
0
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
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
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
1
1
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
2
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
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
0
0
0
0
0
0
1
0
1
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
1
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
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
0
0
1
1
0
1
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
1
0
0
0
1
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
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
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
2
1
0
0
0
0
0
1
0
1
0
2
0
0
0
2
0
0
0
0
1
0
0
0
1
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
1
0
0
1
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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
1
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
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
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
1
0
0
0
0
0
0
0
0
1
0
1
0
1
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
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
1
0
0
0
1
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
1
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
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
2
0
1
1
1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
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
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
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
1
1
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
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
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
1
0
0
0
0
0
1
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
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
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
1
0
1
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
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
1
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
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
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
0
1
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
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
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
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
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
0
0
1
0
0
0
0
0
0
1
1
0
0
2
1
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
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
1
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
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
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
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
1
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
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
0
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
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
2
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
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
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
1
1
0
0
0
1
0
1
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
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
1
0
1
0
0
2
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
2
1
1
1
1
1
0
0
3
1
1
3
0
2
0
1
0
2
0
2
1
0
3
3
3
0
1
3
0
3
4
1
0
1
3
2
2
3
3
2
3
3
1
4
2
4
2
1
1
2
3
1
1
6
1
1
0
2
3
2
0
2
0
1
1
1
2
1
0
2
2
1
0
0
0
1
0
1
0
1
0
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
1
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
0
0
0
0
0
0
0
0
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
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
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
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
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
1
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
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
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
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
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
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
1
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
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
1
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
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
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
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
2
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
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
1
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
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
1
0
1
0
0
0
0
0
1
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
2
0
0
0
1
0
1
0
3
0
0
0
0
1
0
2
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
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
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
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
1
1
1
0
0
0
0
0
1
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
0
0
0
1
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
1
1
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
0
0
0
0
0
0
0
0
0
0
0
2
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
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
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
2
0
0
0
0
0
0
1
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
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
3
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
0
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
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
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
1
0
0
0
0
0
1
0
0
0
0
1
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
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
1
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
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
1
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
0
0
0
1
0
0
0
0
0
0
1
0
1
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
0
0
0
0
0
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
0
0
0
1
0
0
1
0
0
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
0
1
0
0
0
0
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
1
1
0
0
1
0
0
3
0
1
0
2
0
2
0
0
1
0
0
1
0
0
0
1
0
0
2
4
1
2
2
2
1
2
0
3
6
3
3
7
2
3
1
3
2
8
2
3
3
3
5
2
3
6
4
3
5
8
8
6
5
4
7
8
11
3
8
4
9
7
5
6
7
9
11
10
6
3
11
10
7
6
12
8
9
8
10
8
9
10
11
11
6
16
11
7
16
12
12
4
6
12
10
8
4
8
4
7
8
7
9
5
5
6
12
6
4
4
9
4
3
3
2
1
4
0
2
1
0
1
0
2
1
0
2
1
0
0
0
0
0
0
1
0
0
0
0
0
1
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
3
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
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
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
1
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
1
1
0
0
1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
1
1
1
2
1
0
0
1
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
1
1
0
2
1
0
2
0
1
0
0
0
1
1
2
2
1
1
0
0
1
0
2
1
1
0
0
1
1
2
2
2
2
1
1
0
3
3
0
0
0
4
1
1
0
3
0
0
2
1
0
2
0
0
0
0
2
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
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
1
1
1
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
3
2
0
0
0
1
0
0
0
0
1
0
3
0
2
0
1
1
0
1
1
2
2
3
0
0
0
1
0
0
1
0
0
4
0
0
0
1
0
2
1
2
0
0
3
0
2
3
1
0
1
0
1
0
1
3
0
1
1
2
2
1
2
0
1
0
1
0
1
1
1
1
1
0
0
0
3
1
2
2
2
2
3
3
1
2
3
1
2
5
4
7
7
2
4
3
3
6
4
3
4
6
6
5
2
1
4
7
6
3
5
3
8
2
4
5
6
2
0
7
3
5
3
8
8
4
8
4
9
4
6
2
3
5
4
3
4
6
3
0
2
2
2
2
1
1
1
5
5
3
3
2
0
3
1
0
0
2
1
0
1
1
3
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
2
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
0
1
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
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
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
1
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
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
4
1
1
0
1
0
1
1
1
1
0
0
2
1
0
0
0
2
3
1
1
1
0
2
1
1
1
2
0
1
3
1
1
3
1
1
0
2
2
0
2
0
4
1
0
0
4
2
1
2
0
0
0
1
0
3
0
2
1
2
1
3
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
3
0
0
2
1
1
0
0
0
0
0
0
1
2
0
0
0
1
0
0
0
1
1
0
0
0
1
1
2
0
0
0
1
0
0
0
1
0
0
0
1
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
2
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
2
0
1
0
1
1
2
0
0
0
3
1
0
1
0
3
1
0
2
0
1
2
1
2
0
0
2
3
1
2
1
1
0
1
0
2
0
1
2
0
0
3
1
0
2
2
0
0
0
0
2
3
2
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
