import java.math.BigDecimal;
import java.util.Scanner;

public class Main {
    public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    }
    public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    }


} import java.math.BigDecimal; BigDecimal java.math import java.util.Scanner; Scanner java.util public class Main {
    public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    }
    public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    }


} Main public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    } debug {
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    } boolean debug = false; debug false if(debug != true){
            return;
        } debug != true debug true {
            return;
        } return; System.out.println(str) System.out.println System.out System System.out str String str str public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    } main {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    } int W; W int H; H int x; x int y; y try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        } {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        } Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) W = sc.nextInt() W sc.nextInt() sc.nextInt sc H = sc.nextInt() H sc.nextInt() sc.nextInt sc x = sc.nextInt() x sc.nextInt() sc.nextInt sc y = sc.nextInt() y sc.nextInt() sc.nextInt sc BigDecimal bw =new BigDecimal(W); bw new BigDecimal(W) BigDecimal bh =new BigDecimal(H); bh new BigDecimal(H) BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2)); bm bw.multiply(bh).divide(new BigDecimal(2)) bw.multiply(bh).divide bw.multiply(bh) bw.multiply bw bh new BigDecimal(2) long a = W * H; a W * H W H debug(a + ":") debug a + ":" a ":" double f = bm.doubleValue(); f bm.doubleValue() bm.doubleValue bm int j = 0; j 0 if(x*2 == W && y *2 == H){
            j = 1;
        } x*2 == W && y *2 == H x*2 == W x*2 x 2 W y *2 == H y *2 y 2 H {
            j = 1;
        } j = 1 j 1 System.out.println(String.format("%.6f", f) + " "+j) System.out.println System.out System System.out String.format("%.6f", f) + " "+j String.format("%.6f", f) + " "+j String.format("%.6f", f) String.format String "%.6f" f " " j String[] args args public class Main {
    public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    }
    public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    }


} public class Main {
    public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    }
    public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    }


} Main
import java.math.BigDecimal;
import java.util.Scanner;

public class Main {
    public static void debug(String str){
        boolean debug = false;
        if(debug != true){
            return;
        }
        System.out.println(str);
    }
    public static void main(String[] args) {

        int W;
        int H;
        int x;
        int y;

        try (Scanner sc = new Scanner(System.in)) {
            W = sc.nextInt();
            H = sc.nextInt();
            x = sc.nextInt();
            y = sc.nextInt();

        }
        BigDecimal bw =new BigDecimal(W);
        BigDecimal bh =new BigDecimal(H);
        BigDecimal bm = bw.multiply(bh).divide(new BigDecimal(2));
        long a = W * H;
        debug(a + ":");
        double f = bm.doubleValue();
        int j = 0;
        if(x*2 == W && y *2 == H){
            j = 1;
        }
        System.out.println(String.format("%.6f", f) + " "+j);
    }


}
