import math
import string
import collections
from collections import Counter


def readints():
    return list(map(int, input().split()))


def nCr(n, r):
    return math.factorial(n)//(math.factorial(n-r)*math.factorial(r))


def has_duplicates2(seq):
    seen = []
    for item in seq:
        if not(item in seen):
            seen.append(item)
    return len(seq) != len(seen)


def divisor(n):
    divisor = []
    for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
    return divisor


# coordinates
dx = [-1, -1, -1, 0, 0, 1, 1, 1]
dy = [-1, 0, 1, -1, 1, -1, 0, 1]
W, H, x, y = map(int, input().split())
tmp = 0

if x*2 == W and y*2 == H:
    tmp = (W*H)/2
    print('{:f}'.format(tmp), 1)
    exit()
else:

    print('{:f}'.format((H*W)/2), 0)
    exit() import math math import string string import collections collections from collections import Counter def readints():
    return list(map(int, input().split())) readints return list(map(int, input().split())) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split def nCr(n, r):
    return math.factorial(n)//(math.factorial(n-r)*math.factorial(r)) nCr return math.factorial(n)//(math.factorial(n-r)*math.factorial(r)) math.factorial(n)//(math.factorial(n-r)*math.factorial(r)) math.factorial(n) math.factorial math factorial n math.factorial(n-r)*math.factorial(r) math.factorial(n-r) math.factorial math factorial n-r n r math.factorial(r) math.factorial math factorial r n n r r def has_duplicates2(seq):
    seen = []
    for item in seq:
        if not(item in seen):
            seen.append(item)
    return len(seq) != len(seen) has_duplicates2 seen = [] seen [] for item in seq:
        if not(item in seen):
            seen.append(item)
     item seq if not(item in seen):
            seen.append(item)
     not(item in seen) item in seen item seen seen.append(item) seen.append seen append item return len(seq) != len(seen) len(seq) != len(seen) len(seq) len seq len(seen) len seen seq seq def divisor(n):
    divisor = []
    for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
    return divisor


# coordinates divisor divisor = [] divisor [] for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
     i range(1, n+1) range 1 n+1 n 1 if n % i == 0:
            divisor.append(i)
     n % i == 0 n % i n i 0 divisor.append(i) divisor.append divisor append i return divisor divisor n n dx = [-1, -1, -1, 0, 0, 1, 1, 1] dx [-1, -1, -1, 0, 0, 1, 1, 1] -1 -1 -1 0 0 1 1 1 dy = [-1, 0, 1, -1, 1, -1, 0, 1] dy [-1, 0, 1, -1, 1, -1, 0, 1] -1 0 1 -1 1 -1 0 1 W, H, x, y = map(int, input().split()) W map(int, input().split()) map int input().split() ().split () input split H x y tmp = 0 tmp 0 if x*2 == W and y*2 == H:
    tmp = (W*H)/2
    print('{:f}'.format(tmp), 1)
    exit()
else:

    print('{:f}'.format((H*W)/2), 0)
    exit() x*2 == W and y*2 == H x*2 == W x*2 x 2 W y*2 == H y*2 y 2 H tmp = (W*H)/2 tmp (W*H)/2 W*H W H 2 print('{:f}'.format(tmp), 1) print '{:f}'.format(tmp) '{:f}'.format '{:f}' format tmp 1 exit() exit print('{:f}'.format((H*W)/2), 0) print '{:f}'.format((H*W)/2) '{:f}'.format '{:f}' format (H*W)/2 H*W H W 2 0 exit() exit def readints():
    return list(map(int, input().split())) def readints():
    return list(map(int, input().split())) readints tmp = (W*H)/2 (W*H)/2 tmp def nCr(n, r):
    return math.factorial(n)//(math.factorial(n-r)*math.factorial(r)) def nCr(n, r):
    return math.factorial(n)//(math.factorial(n-r)*math.factorial(r)) nCr def has_duplicates2(seq):
    seen = []
    for item in seq:
        if not(item in seen):
            seen.append(item)
    return len(seq) != len(seen) def has_duplicates2(seq):
    seen = []
    for item in seq:
        if not(item in seen):
            seen.append(item)
    return len(seq) != len(seen) has_duplicates2 x, y = map(int, input().split()) map(int, input().split()) x dy = [-1, 0, 1, -1, 1, -1, 0, 1] [-1, 0, 1, -1, 1, -1, 0, 1] dy W, H, x, y = map(int, input().split()) map(int, input().split()) W def divisor(n):
    divisor = []
    for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
    return divisor


# coordinates def divisor(n):
    divisor = []
    for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
    return divisor


# coordinates divisor H, x, y = map(int, input().split()) map(int, input().split()) H y = map(int, input().split()) map(int, input().split()) y tmp = 0 0 tmp dx = [-1, -1, -1, 0, 0, 1, 1, 1] [-1, -1, -1, 0, 0, 1, 1, 1] dx
import math
import string
import collections
from collections import Counter


def readints():
    return list(map(int, input().split()))


def nCr(n, r):
    return math.factorial(n)//(math.factorial(n-r)*math.factorial(r))


def has_duplicates2(seq):
    seen = []
    for item in seq:
        if not(item in seen):
            seen.append(item)
    return len(seq) != len(seen)


def divisor(n):
    divisor = []
    for i in range(1, n+1):
        if n % i == 0:
            divisor.append(i)
    return divisor


# coordinates
dx = [-1, -1, -1, 0, 0, 1, 1, 1]
dy = [-1, 0, 1, -1, 1, -1, 0, 1]
W, H, x, y = map(int, input().split())
tmp = 0

if x*2 == W and y*2 == H:
    tmp = (W*H)/2
    print('{:f}'.format(tmp), 1)
    exit()
else:

    print('{:f}'.format((H*W)/2), 0)
    exit()
