le0ytruelesx0falselesxsylexyminus0y0minussxyif_minuslesxysxyif_minustruesxy0if_minusfalsesxysminusxygcd0yygcdsx0sxgcdsxsyif_gcdleyxsxsyif_gcdtruesxsygcdminusxysyif_gcdfalsesxsygcdminusyxsxlesxsylexyminussxyif_minuslesxysxyminussxylesxyif_minusfalsesxyminusxygcdsxsyif_gcdleyxsxsygcdsxsyleyxif_gcdtruesxsygcdminusxysyif_gcdtruesxsyminusxyif_gcdfalsesxsygcdminusyxsxif_gcdfalsesxsyminusyxtrueif_gcdtruesxsygcdminusxysygcdsxsyif_gcdleyxsxsyif_gcdfalsesxsygcdminusyxsxtrue1234561if_gcd31213true00s1111gcd21112minus211le20false00000if_minus312gcd21112if_gcd31213gcdsxsyif_gcdleyxsxsygcdsxsyif_gcdleyxsxsyfalseif_gcdtruesxsyminusxyfalse235if_gcdfalsesxsyminusyxfalse124minussxyif_minuslesxysxyif_minusfalsesxyminusxytrue131minus211s1111if_minus312le20false00000true00minus211if_minus312gcd211112if_gcd31213minussxyif_minuslesxysxyminussxyif_minuslesxysxyfalseminussxylesxyfalse2gcdsxsyleyxfalse1lesxsylexytrue1le212s1111le20000true00false00minus211if_minus312gcd21112if_gcd31213