module main; // https://yukicoder.me/problems/no/141/editorial より import std; void main() { // 入力 long M, N; readln.chomp.formattedRead("%d %d", M, N); // 答えの計算 long ans = 0, g = gcd(M, N); M /= g; N /= g; while (true) { if (M < N) { swap(M, N); ans++; } else if (N == 1) { ans += M - 1; break; } else { long d = M / N; M %= N; ans += d; } } // 答えの出力 writeln(ans); }