import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	}

	public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	}

	public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	}

	public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	}

	public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	}

	public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	}

	public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	} main {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long w = sc.nextLong(); w sc.nextLong() sc.nextLong sc long h = sc.nextLong(); h sc.nextLong() sc.nextLong sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int y = sc.nextInt(); y sc.nextInt() sc.nextInt sc sc.close() sc.close sc System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0")) System.out.println System.out System System.out (double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0") (double) (w * h) / 2.0 (double) (w * h) w h 2.0 ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0") (x == (double) w / 2.0 && y == (double) h / 2.0) x == (double) w / 2.0 x (double) w / 2.0 (double) w 2.0 y == (double) h / 2.0 y (double) h / 2.0 (double) h 2.0 " 1" " 0" String[] args args public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	} arrayInt {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	} int[] array = new int[n]; array new int[n] n for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			array[i] = sc.nextInt();
		} {
			array[i] = sc.nextInt();
		} array[i] = sc.nextInt() array[i] array i sc.nextInt() sc.nextInt sc return array; array Scanner sc sc int n n public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	} arrayLong {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	} long[] array = new long[n]; array new long[n] n for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			array[i] = sc.nextLong();
		} {
			array[i] = sc.nextLong();
		} array[i] = sc.nextLong() array[i] array i sc.nextLong() sc.nextLong sc return array; array Scanner sc sc int n n public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	} arrayDouble {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	} double[] array = new double[n]; array new double[n] n for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			array[i] = sc.nextDouble();
		} {
			array[i] = sc.nextDouble();
		} array[i] = sc.nextDouble() array[i] array i sc.nextDouble() sc.nextDouble sc return array; array Scanner sc sc int n n public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	}

	public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	}

	public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	}

	public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	}

	public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	}

	public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	}

	public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long w = sc.nextLong();
		long h = sc.nextLong();
		int x = sc.nextInt();
		int y = sc.nextInt();
		sc.close();
		System.out.println((double) (w * h) / 2.0 + ((x == (double) w / 2.0 && y == (double) h / 2.0) ? " 1" : " 0"));
	}

	public static int[] arrayInt(Scanner sc, int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}
		return array;
	}

	public static long[] arrayLong(Scanner sc, int n) {
		long[] array = new long[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextLong();
		}
		return array;
	}

	public static double[] arrayDouble(Scanner sc, int n) {
		double[] array = new double[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextDouble();
		}
		return array;
	}
}
