兼(70000文字)編
下の文に兼ではない文字が1つあります。探してみてください。
兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼兼謙兼
見つけられましたか?
見つからない方は、最後のほうを探してみてください。




