import java.util.*;
public class Main{
	
	public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	}
} import java.util.*; util.* java public class Main{
	
	public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	}
} Main public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	} main {
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	} Scanner sn = new Scanner(System.in); sn new Scanner(System.in) int i = 0; i 0 int N = 0; N 0 int D = 0; D 0 String str = sn.nextLine(); str sn.nextLine() sn.nextLine sn try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		} catch(Exception e){
			System.out.println("error3");
			return;
		} Exception e {
			System.out.println("error3");
			return;
		} System.out.println("error3") System.out.println System.out System System.out "error3" return; {
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		} String[] strlist = str.split(" ",0); strlist str.split(" ",0) str.split str " " 0 N = Integer.parseInt(strlist[0]) N Integer.parseInt(strlist[0]) Integer.parseInt Integer strlist[0] strlist 0 if(N<1 || N > 20){
				System.out.println("error1");
				return;
			} N<1 || N > 20 N<1 N 1 N > 20 N 20 {
				System.out.println("error1");
				return;
			} System.out.println("error1") System.out.println System.out System System.out "error1" return; D= Integer.parseInt(strlist[1]) D Integer.parseInt(strlist[1]) Integer.parseInt Integer strlist[1] strlist 1 if(D<1 || D>20){
				System.out.println("error2");
				return;
			} D<1 || D>20 D<1 D 1 D>20 D 20 {
				System.out.println("error2");
				return;
			} System.out.println("error2") System.out.println System.out System System.out "error2" return; sn.close() sn.close sn if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		} N%(2*D+1)==0 N%(2*D+1) N (2*D+1) 2*D 2 D 1 0 {
			System.out.println(N/(2*D+1) );
		} System.out.println(N/(2*D+1) ) System.out.println System.out System System.out N/(2*D+1) N (2*D+1) 2*D 2 D 1 {
			System.out.println(N/(2*D+1) + 1);
		} System.out.println(N/(2*D+1) + 1) System.out.println System.out System System.out N/(2*D+1) + 1 N/(2*D+1) N (2*D+1) 2*D 2 D 1 1 String[] args args public class Main{
	
	public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	}
} public class Main{
	
	public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	}
} Main
import java.util.*;
public class Main{
	
	public static void main(String[] args){
		
		Scanner sn = new Scanner(System.in);
		int i = 0;
		int N = 0;
		int D = 0;
        String str = sn.nextLine();
		try{
			String[] strlist = str.split(" ",0);
			N = Integer.parseInt(strlist[0]);
			if(N<1 || N > 20){
				System.out.println("error1");
				return;
			}
			D= Integer.parseInt(strlist[1]);
			if(D<1 || D>20){
				System.out.println("error2");
				return;
			}
		}catch(Exception e){
			System.out.println("error3");
			return;
		}
		sn.close();
		if(N%(2*D+1)==0){
			System.out.println(N/(2*D+1) );
		}else{
			System.out.println(N/(2*D+1) + 1);
		}
	}
}