le0ytruelesx0falselesxsylexyminus0y0minussxyif_minuslesxysxyif_minustruesxy0if_minusfalsesxysminusxymod0y0modsx00modsxsyif_modleyxsxsyif_modtruesxsymodminusxysyif_modfalsesxsysxlesxsylexyminussxyif_minuslesxysxyminussxylesxyif_minusfalsesxyminusxymodsxsyif_modleyxsxsymodsxsyleyxif_modtruesxsymodminusxysyif_modtruesxsyminusxytrueif_modtruesxsymodminusxysymodsxsyif_modleyxsxsytrue123451if_mod31213true00s1111mod211112minus211le20000if_minus312false00if_modtruesxsymodminusxysyminus0y0minussxyif_minuslesxysxyif_minusfalsesxysminusxyif_minustruesxy0if_modtruesxsymodminusxysyfalseif_modtruesxsyminusxyfalse124minussxyif_minuslesxysxyif_minusfalsesxyminusxytrue131minus2111s1111if_minus3112le20false00000true00minussxyif_minuslesxysxyminussxyif_minuslesxysxyfalseminussxylesxyfalse2modsxsyleyxfalse1lesxsylexytrue1le212s1111