import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	}
} Main public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	} main {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	} try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		} {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		} Scanner s = new Scanner(System.in) Scanner s = new Scanner(System.in) new Scanner(System.in) final long W = s.nextLong(); W s.nextLong() s.nextLong s final long H = s.nextLong(); H s.nextLong() s.nextLong s final long x = s.nextLong(); x s.nextLong() s.nextLong s final long y = s.nextLong(); y s.nextLong() s.nextLong s boolean b; b if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			} W == 1 && H == 1 W == 1 W 1 H == 1 H 1 {
				b = false;
			} b = false b false if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			} W == 1 W 1 {
				b = H == y * 2;
			} b = H == y * 2 b H == y * 2 H y * 2 y 2 if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			} H == 1 H 1 {
				b = W == x * 2;
			} b = W == x * 2 b W == x * 2 W x * 2 x 2 {
				b = W == x * 2 && H == y * 2;
			} b = W == x * 2 && H == y * 2 b W == x * 2 && H == y * 2 W == x * 2 W x * 2 x 2 H == y * 2 H y * 2 y 2 System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0) System.out.printf System.out System System.out "%f %d%n" W * H / 2.0 W * H W H 2.0 b ? 1 : 0 b 1 0 String[] args args public class Main {
	public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	}
} public class Main {
	public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		try (Scanner s = new Scanner(System.in)) {
			final long W = s.nextLong();
			final long H = s.nextLong();
			final long x = s.nextLong();
			final long y = s.nextLong();

			boolean b;
			if (W == 1 && H == 1) {
				b = false;
			} else if (W == 1) {
				b = H == y * 2;
			} else if (H == 1) {
				b = W == x * 2;
			} else {
				b = W == x * 2 && H == y * 2;
			}
			System.out.printf("%f %d%n", W * H / 2.0, b ? 1 : 0);
		}
	}
}
