#include #include #include #include #include #include #include #include #include #include using namespace std; long long gcd(long long a, long long b){ if(b==0) return a; return gcd(b, a%b); } // a/b long long func(int a, int b){ int ret = 0; if(a==0) return -1; if(b==1){ ret += a-1; return ret; } if(a>b){ ret += a/b; a %= b; }else if(a==b){ return -1; }else{ swap(a,b); ret += 1; } ret += func(a,b); return ret; } int main(){ long long n,m; cin >> m >> n; int g = gcd(n,m); n/=g; m/=g; long long ans = func(m,n); cout << ans << endl; return 0; }