#include <bits/stdc++.h>
using namespace std;
template <class T>
ostream& operator<<(ostream& os, vector<T> V) {
  for (auto v : V) os << v << " ";
  return cout << "";
}
template <class T>
ostream& operator<<(ostream& os, set<T> S) {
  for (auto s : S) os << s << " ";
  return cout << "";
}
template <class L, class R>
ostream& operator<<(ostream& os, pair<L, R> P) {
  return os << P.first << " " << P.second;
}
const long long mod = 1;
long long inv(long long i) {
  if (i == 1) return 1;
  return (mod - ((mod / i) * inv(mod % i)) % mod) % mod;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b, b % a);
}
int main() {
  int r, h;
  cin >> r >> h;
  int ans = 2 * (h / r);
  if ((double)(h - (ans / 2) * r) / (double)r >= sqrt(3) / 2) {
    ans += 3;
  } else if (2 * (h - (ans / 2) * r) >= r) {
    ans += 2;
  } else
    ans++;
  cout << ans;
}
