cond1truexycond2grx0xycond2truexycond1graddxy0pxycond2falsexycond3gry0xycond3truexycond1graddxy0xpycond3falsexycond1graddxy0xygr0xfalsegrsx0truegrsxsygrxyadd0xxaddsxysaddxyp00psxxcond1truexygrx0cond1truexycond2grx0xycond2truexypxcond2truexyaddxycond2truexygraddxy0cond2truexycond1graddxy0pxycond2falsexygry0cond2falsexycond3gry0xycond3truexypycond3truexyaddxycond3truexygraddxy0cond3truexycond1graddxy0xpycond3falsexyaddxycond3falsexygraddxy0cond3falsexycond1graddxy0xygrsxsygrxyaddsxyaddxytruecond3falsexycond1graddxy0xycond1truexycond2grx0xycond2truexycond1graddxy0pxycond2falsexycond3gry0xycond3truexycond1graddxy0xpytruecond3truexygraddxy0falsecond3truexyaddxyfalsecond3truexypyfalsecond2falsexygry0falsecond2truexygraddxy0falsecond2truexyaddxyfalsecond2truexypxfalsecond1truexygrx0falsecond3falsexygraddxy0falsegrsxsygrxytruegr22cond3falsexyaddxyfalseaddsxyaddxytrueadd21