#include <bits/stdc++.h>
using namespace std;
const double pi = 3.14159265358979323846;
struct point {
  double x;
  double y;
  point() {}
  point(double x1, double y1) {
    x = x1;
    y = y1;
  }
  point operator+(point p) { return point(x + p.x, y + p.y); }
  point operator-(point p) { return point(x - p.x, y - p.y); }
  point operator*(double k) { return point(x * k, y * k); }
  point operator/(double k) { return point(x / k, y / k); }
  double len() { return sqrt(x * x + y * y); }
};
int main() {
  int h, r;
  cin >> r >> h;
  int cnt = 0;
  cnt += 2 * (h / r);
  int ost = h - (cnt / 2) * r;
  point p;
  p = point(1.0 * r / 2, h - ost + 1.0 * r / 2);
  point q = point(r, h);
  point v = p - q;
  bool f = false;
  if (v.y <= 0) {
    f = true;
  } else {
    point new_p = p + (v / v.len()) * (1.0 * r / 2);
    if ((new_p - q).len() <= r) f = true;
  }
  if (!f) {
    cout << cnt + 1 << endl;
    return 0;
  }
  cnt += 2;
  if (h - ost + r + r * cos(pi / 6) <= h + r) cnt++;
  cout << cnt << endl;
}
