le0ytruelesx0falselesxsylexyminus0y0minussxyif_minuslesxysxyif_minustruesxy0if_minusfalsesxysminusxymod0y0modsx00modsxsyif_modleyxsxsyif_modtruesxsymodminusxysyif_modfalsesxsysxlesxsylexyminussxyif_minuslesxysxyminussxylesxyif_minusfalsesxyminusxymodsxsyif_modleyxsxsymodsxsyleyxif_modtruesxsymodminusxysyif_modtruesxsyminusxytrueif_modtruesxsymodminusxysymodsxsyif_modleyxsxsytrue123451if_mod31213true00s1111mod211112minus211le20000if_minus312false00if_modtruesxsymodminusxysyminus0y0minussxyif_minuslesxysxyif_minusfalsesxysminusxyif_minustruesxy0if_modtruesxsymodminusxysyfalseif_modtruesxsyminusxyfalse124minussxyif_minuslesxysxyif_minusfalsesxyminusxytrue13if_minus32minus21minussxyif_minuslesxysxyminussxyif_minuslesxysxyfalseminussxylesxyfalse2modsxsyleyxfalse1lesxsylexytruele22