minusXsYpredminusXYminusX0XpredsXXlesXsYleXYlesX0falsele0Ytruegcd0Y0gcdsX0sXgcdsXsYifleYXsXsYiftruesXsYgcdminusXYsYiffalsesXsYgcdminusYXsXminusXsYpredminusXYminusXsYminusXYlesXsYleXYgcdsXsYifleYXsXsYgcdsXsYleYXiftruesXsYgcdminusXYsYiftruesXsYminusXYiffalsesXsYgcdminusYXsXiffalsesXsYminusYXtrueiftruesXsYgcdminusXYsYgcdsXsYifleYXsXsYiffalsesXsYgcdminusYXsXtrue1234561if31213true00s1111gcd211112minus211le20false00pred111000iftruesXsYgcdminusXYsYiffalsesXsYgcdminusYXsXminusXsYpredminusXYminusX0XpredsXXiftruesXsYgcdminusXYsYfalseiffalsesXsYgcdminusYXsXfalseiftruesXsYminusXYfalse24iffalsesXsYminusYXfalse13minusXsYminusXYtrue2minus22minusXsYpredminusXYfalse2gcdsXsYleYXfalselesXsYleXYtruele22