import java.io.InputStream;
import java.io.PrintStream;
import java.util.*;

public class Main {

  public static void main(String[] args) {
    solve(System.in, System.out);
  }

  private static final long MOD = 1000000007L;


  static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  }
} import java.io.InputStream; InputStream java.io import java.io.PrintStream; PrintStream java.io import java.util.*; util.* java public class Main {

  public static void main(String[] args) {
    solve(System.in, System.out);
  }

  private static final long MOD = 1000000007L;


  static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  }
} Main private static final long MOD = 1000000007L; MOD 1000000007L public static void main(String[] args) {
    solve(System.in, System.out);
  } main {
    solve(System.in, System.out);
  } solve(System.in, System.out) solve System.in System System.in System.out System System.out String[] args args static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  } solve {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  } Scanner sc = new Scanner(is); sc new Scanner(is) int w = sc.nextInt(); w sc.nextInt() sc.nextInt sc int h = sc.nextInt(); h sc.nextInt() sc.nextInt sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int y = sc.nextInt(); y sc.nextInt() sc.nextInt sc double area = (double) w * (double) h; area (double) w * (double) h (double) w (double) h area /= 2 area 2 int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0; divide (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 os.print(String.format("%.6f", area) + " ") os.print os String.format("%.6f", area) + " " String.format("%.6f", area) String.format String "%.6f" area " " os.println(divide) os.println os divide InputStream is is PrintStream os os public class Main {

  public static void main(String[] args) {
    solve(System.in, System.out);
  }

  private static final long MOD = 1000000007L;


  static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  }
} public class Main {

  public static void main(String[] args) {
    solve(System.in, System.out);
  }

  private static final long MOD = 1000000007L;


  static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  }
} Main
import java.io.InputStream;
import java.io.PrintStream;
import java.util.*;

public class Main {

  public static void main(String[] args) {
    solve(System.in, System.out);
  }

  private static final long MOD = 1000000007L;


  static void solve(InputStream is, PrintStream os) {
    Scanner sc = new Scanner(is);

    /* read */
    int w = sc.nextInt();
    int h = sc.nextInt();

    int x = sc.nextInt();
    int y = sc.nextInt();

    double area = (double) w * (double) h;
    area /= 2;

    int divide = (x * 2 == w) && (y * 2 == h) ? 1 : 0;

    os.print(String.format("%.6f", area) + " ");
    os.println(divide);
  }
}