import java.util.*;
public class Main {
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    }
} Main public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    } main {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    } 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 int one = D*2+1; one D*2+1 D*2 D 2 1 int min = N/(D*2+1); min N/(D*2+1) N (D*2+1) D*2 D 2 1 if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    } N%one!=0 N%one N one 0 {
        	System.out.println(min+1);
      } System.out.println(min+1) System.out.println System.out System System.out min+1 min 1 {
        	System.out.println(min);
    } System.out.println(min) System.out.println System.out System System.out min String[] args args public class Main {
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    }
} public class Main {
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    }
} Main
import java.util.*;
public class Main {
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
      
      //入力
      int N = sc.nextInt();//木の本数
      int D = sc.nextInt();
      
      //1人の監視員が監視できる範囲
      int one = D*2+1;
      
      //監視員が最低何人必要か求める
      int min = N/(D*2+1);
      if(N%one!=0){
        	System.out.println(min+1);
      }
      else{
        	System.out.println(min);
    }
    }
}