program gcd(input, output); var i, j : integer; begin read(i, j); while i <> j do if i > j then i := i mod j else j := j mod i; writeln(i) end.Does this program compute the same result? If not, can you fix it? Under what circumstances would you expect one or the other to be faster?