minusXsYpredminusXYminusX0XpredsXXlesXsYleXYlesX0falsele0Ytruegcd0Y0gcdsX0sXgcdsXsYifleYXsXsYiftruesXsYgcdminusXYsYiffalsesXsYgcdminusYXsXminusXsYpredminusXYminusXsYminusXYlesXsYleXYgcdsXsYifleYXsXsYgcdsXsYleYXiftruesXsYgcdminusXYsYiftruesXsYminusXYiffalsesXsYgcdminusYXsXiffalsesXsYminusYXtrueiftruesXsYgcdminusXYsYgcdsXsYifleYXsXsYiffalsesXsYgcdminusYXsXtrue1234561if31213true00s1111gcd211112minus211le20false00pred111000iftruesXsYgcdminusXYsYiffalsesXsYgcdminusYXsXminusXsYpredminusXYminusX0XpredsXXiftruesXsYgcdminusXYsYfalseiffalsesXsYgcdminusYXsXfalseiftruesXsYminusXYfalse24iffalsesXsYminusYXfalse13minusXsYminusXYtrue21minus212s1111minusXsYpredminusXYfalse2gcdsXsYleYXfalselesXsYleXYtrue1le212s1111