#include <bits/stdc++.h>
using namespace std;
long long a, b;
long long gcd(long long a, long long b) {
  if (!a) return b;
  return gcd(b % a, a);
}
long long f(long long a, long long b) {
  if (!a) return 0;
  if (b == 1) return a;
  if (a == 1) return b;
  if (a == b) return 1;
  if (a >= b)
    return f(a % b, b) + a / b;
  else
    return f(a, b % a) + b / a;
}
int main() {
  scanf("%I64d%I64d", &a, &b);
  long long ss = gcd(a, b);
  a /= ss, b /= ss;
  printf("%I64d", f(a, b));
}
