// package app;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Scanner;
import java.util.StringJoiner;
import java.util.stream.Stream;

public class Main {

    public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    }
} import java.math.BigDecimal; BigDecimal java.math import java.util.Arrays; Arrays java.util import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util import java.util.Objects; Objects java.util import java.util.Scanner; Scanner java.util import java.util.StringJoiner; StringJoiner java.util import java.util.stream.Stream; Stream java.util.stream public class Main {

    public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    }
} Main public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    } main {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    } 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 tmp = ((D * 2) + 1); tmp ((D * 2) + 1) (D * 2) D 2 1 System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp) System.out.println System.out System System.out N % tmp != 0 ? N / tmp + 1 : N / tmp N % tmp != 0 N % tmp N tmp 0 N / tmp + 1 N / tmp N tmp 1 N / tmp N tmp final String[] args args public class Main {

    public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    }
} public class Main {

    public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    }
} Main
// package app;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Scanner;
import java.util.StringJoiner;
import java.util.stream.Stream;

public class Main {

    public static void main(final String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);

        // long N = sc.nextLong();
        // long K = sc.nextLong();
        int N = sc.nextInt();
        int D = sc.nextInt();

        int tmp = ((D * 2) + 1);
        System.out.println(N % tmp != 0 ? N / tmp + 1 : N / tmp);
    }
}