astra / train_label.txt
suryadev1's picture
Remove large file train_info.txt
2180f54
raw
history blame
82.7 kB
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
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
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
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
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
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
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
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
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
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
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
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
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
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
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
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
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
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
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
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
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
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
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
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
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
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
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
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
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
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
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
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
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
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
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
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
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
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
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
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
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
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
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1