import java.math.BigInteger;
import java.util.*;

public class Main {
	double EPS = 10.e-08;
	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	}

	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}

} import java.math.BigInteger; BigInteger java.math import java.util.*; util.* java public class Main {
	double EPS = 10.e-08;
	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	}

	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}

} Main double EPS = 10.e-08; EPS 10.e-08 private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	} doit {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		} sc.hasNext() sc.hasNext sc {
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		} long w = sc.nextInt(); w sc.nextInt() sc.nextInt sc long h = sc.nextInt(); h sc.nextInt() sc.nextInt sc long x = sc.nextInt(); x sc.nextInt() sc.nextInt sc long y = sc.nextInt(); y sc.nextInt() sc.nextInt sc long multi = (x * 2 == w && y * 2 == h) ? 1 : 0; multi (x * 2 == w && y * 2 == h) ? 1 : 0 (x * 2 == w && y * 2 == h) x * 2 == w x * 2 x 2 w y * 2 == h y * 2 y 2 h 1 0 double midx = (double) w / 2; midx (double) w / 2 (double) w 2 double midy = (double) h / 2; midy (double) h / 2 (double) h 2 if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			} Math.abs(midx - x) < EPS Math.abs(midx - x) Math.abs Math midx - x midx x EPS {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			} System.out.printf("%.9f %d\n", (double)w * h / 2, multi) System.out.printf System.out System System.out "%.9f %d\n" (double)w * h / 2 (double)w * h (double)w h 2 multi continue; double a = (midy - y) / (midx - x); a (midy - y) / (midx - x) (midy - y) midy y (midx - x) midx x double b = y - a * x; b y - a * x y a * x a x if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			} Math.abs(a) < EPS Math.abs(a) Math.abs Math a EPS {
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			} System.out.printf("%.9f %d\n", (double)w * b, multi) System.out.printf System.out System System.out "%.9f %d\n" (double)w * b (double)w b multi continue; double lowx = -1.0 * b / a; lowx -1.0 * b / a -1.0 * b -1.0 1.0 b a double hix = (h- b) / a; hix (h- b) / a (h- b) h b a double res = (lowx + hix) * h / 2; res (lowx + hix) * h / 2 (lowx + hix) * h (lowx + hix) lowx hix h 2 System.out.printf("%.9f %d\n",res, multi) System.out.printf System.out System System.out "%.9f %d\n" res multi private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	} debug {
		System.out.println("debug = " + Arrays.deepToString(o));
	} System.out.println("debug = " + Arrays.deepToString(o)) System.out.println System.out System System.out "debug = " + Arrays.deepToString(o) "debug = " Arrays.deepToString(o) Arrays.deepToString Arrays o Object... o o public static void main(String[] args) {
		new Main().doit();
	} main {
		new Main().doit();
	} new Main().doit() new Main().doit new Main() String[] args args public class Main {
	double EPS = 10.e-08;
	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	}

	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}

} public class Main {
	double EPS = 10.e-08;
	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	}

	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}

} Main
import java.math.BigInteger;
import java.util.*;

public class Main {
	double EPS = 10.e-08;
	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			long w = sc.nextInt();
			long h = sc.nextInt();
			long x = sc.nextInt();
			long y = sc.nextInt();
			
			long multi = (x * 2 == w && y * 2 == h) ? 1 : 0;
			
			double midx = (double) w / 2;
			double midy = (double) h / 2;
			
			if(Math.abs(midx - x) < EPS) {
				System.out.printf("%.9f %d\n", (double)w * h / 2, multi);
				continue;
			}
			
			double a = (midy - y) / (midx - x);
			double b = y - a * x;
			if(Math.abs(a) < EPS){
				System.out.printf("%.9f %d\n", (double)w * b, multi);
				continue;
			}
			
			double lowx = -1.0 * b / a;
			double hix = (h- b) / a;
			
			double res = (lowx + hix) * h / 2;
			
			System.out.printf("%.9f %d\n",res, multi);
		}
	}

	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}

}
