#include #include #define rep(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) using namespace atcoder; using namespace std; typedef long long ll; int ans; __int128 mygcd(__int128 a, __int128 b) { ans++; if (a == b) return 0; if (b == 0) { return a; } else { return mygcd(b, a % b); } } __int128 f(int k) { __int128 x = 1; rep(i, 0, k) x *= 10; return x; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(12); ans = 0; ll a, b; char c; cin >> a >> c; if (c == '.') cin >> b; else { b = 0; } if (a == 1 && b == 0) { cout << 1 << endl; return 0; } if (a >= 1) ans++; a *= f(to_string(b).size()); a += b; b = f(to_string(b).size()); while (!(a == 0 || b == 0)) { cerr << (ll)a << ' ' << (ll)b << endl; if (a >= b) { a %= b; ans++; } else { b %= a; ans++; } } cout << ans << endl; }