Look at your code:
else if (MyInput1&&MyInput2&&MyInput3)
{
MyInput1 = 0;
MyInput2 = 0;
MyInput3 = 1;
}
Compare that with a branch that works:
else if (MyInput1&&MyInput2&&!MyInput3)
{
MyOutput1 = 0;
MyOutput2 = 1;
MyOutput3 = 0;
}
Can you see a difference?
Hint: is MyInput1 the same variable as MyOutput1?