import java.util.*;
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int D = sc.nextInt();
    System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1));
  }
} import java.util.*; util.* java class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int D = sc.nextInt();
    System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1));
  }
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int D = sc.nextInt();
    System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1));
  } main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int D = sc.nextInt();
    System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1));
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int D = sc.nextInt(); D sc.nextInt() sc.nextInt sc System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1)) System.out.println System.out System System.out N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1) N/(1+(2*D)) N (1+(2*D)) 1 (2*D) 2 D (N%(1+(2*D)) == 0 ? 0 : 1) N%(1+(2*D)) == 0 N%(1+(2*D)) N (1+(2*D)) 1 (2*D) 2 D 0 0 1 String[] args args
import java.util.*;
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int D = sc.nextInt();
    System.out.println(N/(1+(2*D)) + (N%(1+(2*D)) == 0 ? 0 : 1));
  }
}