#nullable enable var input = Console.ReadLine()!.Split('.'); var p = long.Parse(input[0]); var q = 1L; if (input.Length == 2) { var qs = input[1]; for (var i = 0; i < qs.Length; i++) { p *= 10; q *= 10; } p += long.Parse(qs); } var history = new HashSet<(long, long)>(); while (p != 0) { if (history.Contains((p, q))) { Console.WriteLine("infty"); return; } history.Add((p, q)); (p, q) = (q, p); p -= p / q * q; } var ans = history.Count; Console.WriteLine(ans);