import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	}

} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	} main {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) List<Integer> list=new ArrayList<Integer>(); list new ArrayList<Integer>() int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int d = sc.nextInt(); d sc.nextInt() sc.nextInt sc int count=0; count 0 int human=0; human 0 while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		} true {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		} count=count+d*2+1 count count+d*2+1 count+d*2+1 count d*2 d 2 1 human++ human if(count>=n) {
				break;
			} count>=n count n {
				break;
			} break; System.out.println(human) System.out.println System.out System System.out human String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	}

} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	}

} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//int a = sc.nextInt();
		//List<Integer> check=new ArrayList<Integer>();
		//array = new int[h+1][w+1];
		List<Integer> list=new ArrayList<Integer>();
		//List<String> list= new ArrayList<String>(Arrays.asList(s.split("")));
		//Collections.reverse(list);

		int n = sc.nextInt();
		int d = sc.nextInt();

		int count=0;
		int human=0;

		while(true) {
			count=count+d*2+1;
			human++;
			if(count>=n) {
				break;
			}
		}

		System.out.println(human);
	}

}
