Program recursionTest (input,output);
Var
x,y : integer;
function gcd (a, b: integer) : result real;
var x : integer;
begin
if b= 0 then gcd := a
else begin
x := a;
while (x >= b) do
begin
x := x - b
end;
gcd := gcd(b,x)
end
end
begin
read (x,y);
if x>y then write (gcd(x, y))
end.
UHJvZ3JhbSByZWN1cnNpb25UZXN0IChpbnB1dCxvdXRwdXQpOwpWYXIKICAgeCx5IDogaW50ZWdlcjsKCmZ1bmN0aW9uIGdjZCAoYSwgYjogaW50ZWdlcikgOiByZXN1bHQgcmVhbDsKICAgdmFyIHggOiBpbnRlZ2VyOwpiZWdpbgogICBpZiBiPSAwIHRoZW4gZ2NkIDo9IGEKICAgZWxzZSBiZWdpbgogICAgIHggOj0gYTsKICAgICB3aGlsZSAoeCA+PSBiKSBkbwogICAgICBiZWdpbgogICAgICAgIHggOj0geCAtIGIKICAgICAgZW5kOwogICAgICBnY2QgOj0gZ2NkKGIseCkKICAgICBlbmQKZW5kCmJlZ2luCiAgIHJlYWQgKHgseSk7CiAgIGlmIHg+eSB0aGVuIHdyaXRlIChnY2QoeCwgeSkpCmVuZC4=