#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m, t, res = 0;
  cin >> n >> m;
  if (m == 1) {
    cout << n;
    return 0;
  }
  res += (n / m);
  if (n == m && m == 1) {
    cout << 1;
    return 0;
  }
  pair<long long, long long> p = make_pair(n % m, m);
  while (p.first > 1 && p.second > 1) {
    swap(p.first, p.second);
    res += p.first / p.second;
    p.first %= p.second;
  }
  res += max(p.first, p.second);
  cout << res;
  return 0;
}
