CtSB_B6
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
