Problem:
 Score : 300 points    Problem Statement There is a rectangle in a coordinate plane. The coordinates of the four vertices are (0,0) , (W,0) , (W,H) , and (0,H) .
You are given a point (x,y) which is within the rectangle or on its border. We will draw a straight line passing through (x,y) to cut the rectangle into two parts. Find the maximum possible area of the part whose area is not larger than that of the other. Additionally, determine if there are multiple ways to cut the rectangle and achieve that maximum.      Constraints  1 \leq W,H \leq 10^9  0\leq x\leq W  0\leq y\leq H  All values in input are integers.         Input Input is given from Standard Input in the following format:  W  H  x  y       Output Print the maximum possible area of the part whose area is not larger than that of the other, followed by 1 if there are multiple ways to cut the rectangle and achieve that maximum, and 0 otherwise.  The area printed will be judged correct when its absolute or relative error is at most 10^{-9} .        Sample Input 1 2 3 1 2      Sample Output 1 3.000000 0  The line x=1 gives the optimal cut, and no other line does.       Sample Input 2 2 2 1 1      Sample Output 2 2.000000 1

Solution (Python):
w, h, x, y = map(int, input().split())

ans1 = h * w / 2
bo = 0
if 2 * x == w and 2 * y == h:
    bo = 1
print(ans1, bo)

Solution (Python):
def main():
    w, h, x, y = map(int, input().split())
    print(h * w / 2, end=" ")
    print(1 if 2 * x == w and 2 * y == h else 0)


if __name__ == '__main__':
    main()

Solution (Python):
import sys

sys.setrecursionlimit(10 ** 7)
f_inf = float('inf')
mod = 10 ** 9 + 7


def resolve():
    w, h, x, y = map(int, input().split())

    print(w * h / 2, int(x * 2 == w and y * 2 == h))


if __name__ == '__main__':
    resolve()

Solution (Python):
W, H, x, y = map(int, input().split())

if W == x*2 and H == y*2:
    print((W * H) / 2, 1)
else:
    print((W * H) / 2, 0)

Solution (Python):
W, H, x, y = map(int, input().split())
s = 0
if W == 2*x and H == 2*y:
  s = 1
S = W*H/2
print(S, s, sep =' ')

Solution (Python):
W, H, x, y = map(int, input().split())

if W / 2 == x and H / 2 == y and (x != 0 and y != 0):
    print((W * H) / 2, 1)
else:
    print((W * H) / 2, 0)

Solution (Python):
import sys
import heapq
import re
from itertools import permutations
from bisect import bisect_left, bisect_right
from collections import Counter, deque
from fractions import gcd
from math import factorial, sqrt, ceil
from functools import lru_cache, reduce
INF = 1 << 60
MOD = 1000000007
sys.setrecursionlimit(10 ** 7)


class UnionFind():
    def __init__(self, n):
        self.n = n
        self.parents = [-1] * n

    def find(self, x):
        if self.parents[x] < 0:
            return x
        else:
            self.parents[x] = self.find(self.parents[x])
            return self.parents[x]

    def union(self, x, y):
        x = self.find(x)
        y = self.find(y)

        if x == y:
            return

        if self.parents[x] > self.parents[y]:
            x, y = y, x

        self.parents[x] += self.parents[y]
        self.parents[y] = x

    def size(self, x):
        return -self.parents[self.find(x)]

    def same(self, x, y):
        return self.find(x) == self.find(y)

    def members(self, x):
        root = self.find(x)
        return [i for i in range(self.n) if self.find(i) == root]

    def roots(self):
        return [i for i, x in enumerate(self.parents) if x < 0]

    def group_count(self):
        return len(self.roots())

    def all_group_members(self):
        return {r: self.members(r) for r in self.roots()}

    def __str__(self):
        return '\n'.join('{}: {}'.format(r, self.members(r)) for r in self.roots())

def is_prime(n):
    if n == 1:
        return False
    for i in range(2,int(n**0.5)+1):
        if n % i == 0:
            return False
    return True




def warshall_floyd(d, n):
    
    for k in range(n):
        for i in range(n):
            for j in range(n):
                d[i][j] = min(d[i][j],d[i][k] + d[k][j])
    return d



def dijkstra_heap(s, edge, n):
    
    d = [10**20] * n
    used = [True] * n 
    d[s] = 0
    used[s] = False
    edgelist = []
    for a,b in edge[s]:
        heapq.heappush(edgelist,a*(10**6)+b)
    while len(edgelist):
        minedge = heapq.heappop(edgelist)
        
        if not used[minedge%(10**6)]:
            continue
        v = minedge%(10**6)
        d[v] = minedge//(10**6)
        used[v] = False
        for e in edge[v]:
            if used[e[1]]:
                heapq.heappush(edgelist,(e[0]+d[v])*(10**6)+e[1])
    return d


def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr


def lcm(x, y):
    return (x * y) // gcd(x, y)


def lcm_list(numbers):
    return reduce(lcm, numbers, 1)


def gcd_list(numbers):
    return reduce(gcd, numbers)






def eratosthenes(limit):
    A = [i for i in range(2, limit+1)]
    P = []

    while True:
        prime = min(A)
        
        if prime > sqrt(limit):
            break
            
        P.append(prime)
            
        i = 0
        while i < len(A):
            if A[i] % prime == 0:
                A.pop(i)
                continue
            i += 1
            
    for a in A:
        P.append(a)
            
    return P


def permutation_with_duplicates(L):

    if L == []:
        return [[]]

    else:
        ret = []

        
        S = sorted(set(L))

        for i in S:

            data = L[:]
            data.remove(i)

            for j in permutation_with_duplicates(data):
                ret.append([i] + j)

        return ret



w, h, x, y = map(int, input().split())
area = w * h / 2
if x == w / 2 and y == h / 2:
    print(area, 1)
else:
    print(area, 0)

Solution (Python):
W, H, x, y = map(int, input().split())
print(W*H/2, (1 if x==W/2 and y==H/2 else 0))

Solution (Python):
W,H,x,y = map(int,input().split())
s = W*H/2
if W/2==x and H/2==y:
    print(s,1)
else:
    print(s,0)

Solution (Python):
W, H, x, y = map(int, input().split())

ans1 = W * H / 2
if x == W / 2 and y == H / 2:
    ans2 = 1
else:
    ans2 = 0

print(ans1, ans2)

Solution (Python):
W, H, x, y = map(int,input().split())

s = W*H/2
print(s)

if x*2 == W and y*2 == H:
  print("1")
else:
  print("0")

Solution (Python):
w,h,x,y = map(int, input().split())
if (x,y) == (w/2, h/2): print(w*h/2, 1)
else: print(w*h/2, 0)

Solution (Python):
w,h,x,y=map(int,input().split())
ans=0
if w==x*2 and h==y*2:
  ans=1
print((w*h)/2,ans)

Solution (Python):
w, h, x, y = map(int, input().split())
print(w*h/2)
if x==w/2 and y==h/2:
    print(1)
else:
    print(0)

Solution (Python):
a,b,c,d=map(int,input().split())
if a/2==c and b/2==d:
  print(a*b/2,1)
else:print(a*b/2,0)

Solution (Python):
W, H, x, y = map(int, input().split())

s = W * H / 2
div = 1 if x == W/2 and y == H/2 else 0
print('{} {}'.format(s, div))

Solution (Python):
W,H,x,y = map(int,input().split())

if W/2 == x and H/2 == y:
    a = 1
else:
    a = 0
print(W*H/2,a)

Solution (Python):
w,h,x,y=map(int,input().split())

if x==w/2 and y==h/2:
    ans=1
else:
    ans=0
print(w*h/2,ans)

Solution (Python):
w,h,x,y=map(int,input().split())

if x==w/2 and y==h/2:
  n=1
else:
  n=0
print(w*h/2,n)

Solution (Python):
w, h, x, y = map(int, input().split())
if w == x * 2 and h == y * 2:
    print(w * h / 2, 1)
else:
    print(w * h / 2, 0)

Solution (Python):

W, H, x, y = map(int, input().split())


ans = (W * H) / 2

if W % 2 == 0 and H % 2 == 0 and W // 2 == x and H // 2 == y:
    print(ans, 1, sep=" ")
else:
    print(ans, 0, sep=" ")

Solution (Python):
w, h, x, y = map(int, input().split())
print(w * h / 2, end=' ')
if x == w / 2 and y == h / 2:
    print('1')
else:
    print('0')

Solution (Python):
w,h,x,y = [int(x) for x in input().split()]

if x * 2 == w and y * 2 == h:
    print((w*h)/2, 1)
else:
    print((w*h)/2, 0)

Solution (Python):
def resolve():
    W, H, x, y = [int(i) for i in input().split()]
    if W / 2 == x and H / 2 == y:
        flg = 1
    else:
        flg = 0
    print(*[W * H / 2, flg])


resolve()

Solution (Python):
W, H, x, y = map(int, input().split(' '))

if 2 * x == W and 2 * y == H:
    print(W * H / 2, 1)
else:
    print(W * H / 2, 0)

Solution (Python):
def main():
    W, H, x, y = map(int, input().split())
    pat = 0

    if x == W/2 and y == H/2:
        pat = 1

    print((W*H)/2.0, pat)

if __name__ == "__main__":
    main()

Solution (Python):
w,h,x,y=map(int,input().split())
print('{:.10f}'.format(w*h/2),int(x*2==w and y*2==h))

Solution (Python):
W, H, x, y = map(int, input().split())
S = W * H
ans = float(S / 2.0)


gx, gy = W / 2.0, H / 2.0

if (gx == x) and (gy == y):
    tar = '1'
else:
    tar = '0'

print(ans, tar)

Solution (Python):
def ii():return int(input())
def iim():return map(int,input().split())
def iil():return list(map(int,input().split()))
def ism():return map(str,input().split())
def isl():return list(map(str,input().split()))

w,h,x,y = iim()
area = w*h/2

f = 1 if w/2 == x and h/2 == y else 0
print(area,f)

Solution (Python):
import collections
import numpy as np
import sys
import copy

W,H,X,Y=map(int,input().split())


if W/2==X and H/2==Y:
    print(X*H,1)


else:
    print(H*W/2,0)

Solution (Python):
from collections import Counter 
from collections import defaultdict
from collections import deque
import math
import itertools
import heapq
import numpy as np
import sys
sys.setrecursionlimit(10**6)




input_list = lambda : list(map(int,input().split()))


w,h,x,y=input_list()
ans=w*h/2
mul=0
if w==x*2 and h==y*2:
    mul=1

print(ans,mul)

Solution (Python):
w,h,x,y=map(int,input().split())
huku=0
if w/2==x and h/2==y:
  huku=1
print(w*h/2,huku)

Solution (Python):
w,h,x,y = map(int,input().split())
if  y == h/2 and x == w/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
import itertools
import math
import fractions
import functools
import copy

w, h, x, y = map(int, input().split())
ans = 0
if x == w / 2 and y == h / 2:
    ans = 1

print(w*h/2,ans)

Solution (Python):
w, h, x, y = map(int, input().split())
print(w * h / 2, 1 if x * 2 == w and y *2 == h else 0)

Solution (Python):
w,h,x,y = map(int,input().split())

area = w*h
ans = (w/2==float(x) and h/2==float(y))
print(area/2,(1 if ans else 0))

Solution (Python):
W, H, x, y = map(int, input().split())

ans1 = W * H / 2
ans2 = 0
if (2 * x == W) and (2 * y == H):
    ans2 = 1

print(ans1, ans2)

Solution (Python):
W, H, x, y = list(map(int, input().split()))
if x == W / 2 and y == H / 2:
    print('{} {}'.format(W * H / 2, 1))
else:
    print('{} {}'.format(W * H / 2, 0))

Solution (Python):
w,h,x,y=map(int,input().split())
if x*2==w and y*2==h:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W,H,x,y = map(int,input().split())
if W == 2*x and H == 2*y:
    a = 1
else:
    a = 0
b = W*H/2
print(b,a)

Solution (Python):
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
  print(w*h/2,1)
else:
  print(w*h/2,0)

Solution (Python):
W, H, x, y = map(int, input().split())

if W/2 == x and H/2 == y:
    flg = 1
else:
    flg = 0

print(W*H/2, flg)

Solution (Python):
W, H, X, Y = map(int, input().split())

ans1 = (W*H)/2
if W == X*2 and H == Y*2:
    ans2 = 1
else:
    ans2 = 0
print(ans1, ans2)

Solution (Python):
w,h,x,y = map(int,input().split())

if w/2==x and h/2==y:
    print((w*h)/2,1)
else:
    print((w*h)/2,0)

Solution (Python):
W, H, x, y = list(map(int, input().split()))

ans1 = W * H / 2
ans2 = 0
if x == W / 2 and y == H / 2:
    ans2 = 1
print(ans1, ans2)

Solution (Python):
W, H, X, Y = map(int, input().split())

ans1 = (W*H)/2

if W==X*2 and H==Y*2:
    ans2 = 1
else:
    ans2 = 0
print(ans1, ans2)

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2,1if w==2*x and h==2*y else 0)

Solution (Python):
W,H,x,y =map(int, input().split())

count =0
ans =(W*H) /2
if W/2 ==x and H/2 ==y:
    count +=1
print(ans,count)

Solution (Python):
w, h, x, y = map(float, input().split())
print(w*h/2, 1 if 2*x==w and 2*y==h else 0)

Solution (Python):
w, h, x, y = map(int, input().split())
s = w*h/2

if x == w/2 and y == h/2:
    print(s, 1)
else:
    print(s, 0)

Solution (Python):
w,h,x,y = map(int,input().split())
if w == 2*x and h == 2*y:
  print(w*h/2,1)
else:
  print(w*h/2,0)

Solution (Python):
W, H, x, y = map(int, input().split())

"""
直方体は中身を通る線で半分に割ることができる
"""

if W/2 == x and H/2 == y:
    print(W * H / 2, 1)
else:
    print(W * H / 2, 0)

Solution (Python):
W, H, x, y = map(int, input().split())

print( W*H/2, 1 if (x+x == W) and (y+y == H) else 0)

Solution (Python):
W, H, x, y = map(int, input().split())
area = W * H / 2
n = 0
if W / 2 == x and H / 2 == y:
    n = 1
print(area, n)

Solution (Python):
def rectangle_cutting(w, h, x, y):

    a = 0
    ans = (w*h) / 2

    if x*2 == w and y*2 == h:
        a = 1

    return ans, a
def main():
    w, h, x, y = map(int, input().split())
    print(*(rectangle_cutting(w, h, x, y)))

if __name__ == '__main__':
    main()

Solution (Python):
W, H, x, y = map(int, input().split())

print('{:.6f}'.format(float(W*H/2)), end=" ")

if float(x) == W/2 and float(y) == H/2:
    print(1)
else:
    print(0)

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2,int(x==w/2 and y==h/2))

Solution (Python):
W, H, x, y = map(int, input().split())

area = W * H / 2
n = 0
if W / 2 == x and H / 2 == y:
    n = 1

print(area, n)

Solution (Python):


w, h, x, y = map(int, input().split())

ans = w * h / 2

if w == x * 2 and h == y * 2:
    flag = 1
else:
    flag = 0

print(ans, flag)

Solution (Python):

W,H,x,y = map(int,input().split())

  
if (x == W/2 or y == H/2 or y == -(H*x/W)+H or y == (H*x)/W):
  if x == W/2 and y == H/2:
    print(W*H/2,1)
  else:
    print(W*H/2,0)
elif (x == 0 or x == W) and (y == 0 or y == H):
  print(W*H/2,0) 
else:
  print(W*H/2,0)

Solution (Python):
S=lambda:input()
I=lambda:int(input())
L=lambda:list(map(int,input().split()))
LS=lambda:list(map(str,input().split()))

def main():
    w,h,x,y=L()
    print(w*h/2,end=" ")
    print(1 if w/2==x and h/2==y else 0)
    

if __name__=='__main__':
    main()

Solution (Python):

"""
Created on Tue May 12 00:13:44 2020

@author: shinba
"""
import sys

w,h,x,y = map(int,input().split())

if w%2 == 0 and h%2 == 0:
    if w//2 == x and h//2 == y:
        print((h*w)/2,1)
        sys.exit()
        
print(h*w/2,0)

Solution (Python):
w,h,x,y=map(int,input().split())
b=0
if x==w/2 and y==h/2:
    b=1
s=w*h/2
print(s,b)

Solution (Python):
W,H,x,y = list(map(int,input().split()))
M = W*H/2
ans = 0
if x*2 == W and y*2 == H:
    ans = 1
print(M,ans)

Solution (Python):
W, H, x, y = map(int,input().split())

ans1 = H * W / 2

if (x == W/2)and(y == H/2):
  ans2 = 1
else:
  ans2 = 0
  
print(ans1, ans2)

Solution (Python):
w,h,x,y=map(int,input().split())
if w==2*x and h==2*y:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2,int((w==2*x and h==2*y)))

Solution (Python):
w, h, x, y = list(map(int,input().split()))
print(w * h / 2., int(w == (x * 2) and h == (y * 2)))

Solution (Python):
w, h , x, y = map(int, input().split())

split_area_smax = (w*h)/2
if  x == w/2 and y ==h/2:
    vari_split = 1
else:
    vari_split = 0


print(split_area_smax, vari_split)

Solution (Python):
w,h,x,y = map(int,input().split())

print(w*h/2, 1 if x==w/2 and y==h/2 else 0)

Solution (Python):
W,H,x,y = map(int,input().split())
print(W*H/2,1 if(2*x==W and 2*y==H) else 0)

Solution (Python):
W,H,x,y = map(int,input().split())

S = W*H/2

if 2*x==W and 2*y==H:
    print(S,1)
else:
    print(S,0)

Solution (Python):
w, h, x, y = map(int, input().split())

scale = (w * h) / 2


if x == w/2 and y == h/2:
  print('{0:.9f} 1'.format(scale))
else:
  print('{0:.9f} 0'.format(scale))

Solution (Python):
w,h,x,y = map(int, input().split())

print(w * h / 2, 1 if (x == w / 2) and (y == h / 2) else 0)

Solution (Python):

W, H, x, y = map(int, input().split())

S = W*H/2
if x==W/2 and y == H/2:
    print(S, 1)
else:
    print(S, 0)

Solution (Python):
def solve():
    W, H, x, y = map(int, input().split())
    if W/2 == x and H/2 == y:
        print('%f %d\n' % (W*H/2, 1))
    else:
        print('%f %d\n' % (W*H/2, 0))


solve()

Solution (Python):
W, H, x, y = map(int, input().split())

ans = 0
if ((W/2)==x) & ((H/2)==y):
    ans = 1

print(W*H/2, ans)

Solution (Python):
from collections import defaultdict, deque, Counter
from heapq import heappush, heappop, heapify
from itertools import permutations, accumulate, combinations, combinations_with_replacement
from math import sqrt, ceil, floor, factorial
from bisect import bisect_left, bisect_right
from copy import deepcopy
from operator import itemgetter
from functools import reduce
from fractions import gcd

import sys
def I(): return int(input())
def Is(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
def TI(): return tuple(map(int, input().split()))
def IR(n): return [I() for _ in range(n)]
def LIR(n): return [LI() for _ in range(n)]
def TIR(n): return [TI() for _ in range(n)]
def S(): return input()
def Ss(): return input().split()
def LS(): return list(input())
def SR(n): return [S() for _ in range(n)]
def SsR(n): return [Ss() for _ in range(n)]
def LSR(n): return [LS() for _ in range(n)]
sys.setrecursionlimit(10**6)
MOD = 10**9+7
INF = float('inf')


w, h, x, y = Is()
xd = w/2
yd = h/2
s = w*h/2

if xd == x and yd == y:
    print("{} {}".format(s, 1))
else:
    print("{} {}".format(s, 0))

Solution (Python):
a, b, x, y = map(int, input().split())

ans = 0
if x + x == a and y + y == b:
    ans = 1
else:
    ans = 0
print(a * b / 2, ans)

Solution (Python):
W,H,x,y = map(float, input().split())
c_w,c_h,other = W/2,H/2,0

if c_h==y and c_w==x:
  other = 1
  print('%f %d'%(W*H/2,other))
  
elif c_h==y or c_w==x:
  if c_w==x: print('%f %d'%(min(W-x, x)*H,other))
  elif c_h==y: print('%f %d'%(min(H-y, y)*W,other))
    
else: 
  print('%f %d'%(W*H/2,other))
 

'''
else:
  y_ = (c_h-y)/(c_w-x)
  
  if abs(y_*c_w)>=c_h:
    point_ = [[-c_h/y_+c_h,0],[c_h/y_+c_h,c_h*2]]
    S = (point_[0][0]+point_[1][0])*abs((point_[1][1]-point_[0][1]))/2
    print('%f %d'%(S,other))
  elif abs(y_*c_w)<c_h:
    point_ = [[0,-c_w*y_+c_w],[c_w*2,c_w*y_+c_w]]
    S = (point_[0][1]+point_[1][1])*abs((point_[1][0]-point_[0][0]))/2
    print('%f %d'%(S,other))
'''

Solution (Python):
W, H, x, y = map(int, input().split())
flag = 0
if W % 2 == 0 and H % 2 == 0:
    if x == W // 2 and y == H // 2:
        flag = 1
print(W * H / 2, flag)

Solution (Python):
W,H,x,y=map(int,input().split())
print(W*H/2,1 if x==W/2 and y==H/2 else 0)

Solution (Python):
import sys










stdin = sys.stdin
sys.setrecursionlimit(10 ** 7)
MIN = -10 ** 9
MOD = 10 ** 9 + 7
INF = float("inf")
IINF = 10 ** 18



W,H,x,y = map(int, stdin.readline().rstrip().split())


half = W*H/2
if x*2==W and y*2==H:
    print(half, 1)
else:
    print(half,0)

Solution (Python):
w, h, x, y = map(int, input().split())
center = [w/2, h/2]
if [x, y] == center:
    print(w*h/2, 1)
else:
    print(w*h/2, 0)

Solution (Python):


W, H, x, y = map(int, input().split())
print(max(W, H) * min(W, H) / 2, 1 if W == x * 2 and H == y * 2 else 0)

Solution (Python):
w,h,x,y=map(int,input().split())
if x == w/2 and y == h/2 :
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W,H,x,y = map(int,input().split())

if x==(W//2) and W%2==0 and y==(H//2) and H%2==0:
  flg = 1
else:
  flg = 0

s = (W*H)/2

print(s,flg)

Solution (Python):
import sys
readline = sys.stdin.readline

def main():
    W, H, x, y = map(int, readline().rstrip().split())
    ans = W * H / 2
    if x == W / 2 and y == H / 2:
        mult = 1
    else:
        mult = 0
    print(ans, mult)


if __name__ == '__main__':
    main()

Solution (Python):
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W,H,x,y=map(int,input().split())
print(W*H/2,end=" ")
if x==W/2 and y==H/2:
  print(1);exit()

print(0)

Solution (Python):
w,h,x,y=map(int,input().split())
if x == w/2 and y == h/2 :
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W,H,x,y=map(int,input().split(" "))


print(W*H/2,1 if x==W/2 and y==H/2  else 0)

Solution (Python):

w, h, x, y = map(float, input().split())
ans1 = (w * h) / 2
ans2 = 0
if x == w / 2 and y == h / 2:
    ans2 = 1
print(ans1, ans2)

Solution (Python):

W,H,x,y = map(int,input().split())

if ((W/2 == x) and (H/2 == y)) or ((W/2 == y) and (H/2 == x)):
    print(W*H/2,end="")
    print(" ",end="")
    print(1)
else:
    print(W*H/2,end="")
    print(" ",end="")
    print(0)

Solution (Python):
import sys
input = sys.stdin.readline
def main():
    W, H, x, y = map(int, input().split())
    if 2*x == W:
        Fx = True
    else:
        Fx = False
    if 2*y == H:
        Fy = True
    else:
        Fy = False
    if Fx and Fy:
        way = 1
    else:
        way = 0
    area = H*W/2
    
    print(area, way)

if __name__ == '__main__':
    main()

Solution (Python):

w, h, x, y = map(int, input().split())

if x == w / 2 and y == h / 2:
    print(w*h/2, 1)
else:
    print(w*h/2, 0)

Solution (Python):
w,h,x,y=map(int,input().strip().split())
print(w*h/2,1*(x*2==w and y*2==h))

Solution (Python):
W, H, x, y = map(int, input().split())
s = W * H
ways = 0
if x == W / 2 and y == H / 2:
    ways = 1
print(s / 2, ways, sep=" ")

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2)
if w/2==x and h/2==y:
  print(1)
else:
  print(0)

Solution (Python):
W, H, x, y = map(int, input().split(' '))
maximum = W * H / 2
flag = 0
if x == W / 2 and y == H / 2:
  flag = 1
print("{0} {1}".format(maximum, flag))

Solution (Python):
w, h, x, y = map(int, input().split())
if (2*x==w) & (2*y == h):
    print(w*h/2, 1)
else:
    print(w*h/2, 0)

Solution (Python):
w, h, x, y = map(int, input().split())
if x * 2 == w and y * 2 == h:
    print(w * h / 2, 1)
else:
    print(w * h / 2, 0)

Solution (Python):
def main():
    W, H, x, y = list(map(int, input().split(' ')))
    split_num = 0
    if 2 * x == W and 2 * y == H:
        split_num = 1
    area = W * H / 2
    print('{} {}'.format(area, split_num))


if __name__ == '__main__':
    main()

Solution (Python):
W,H,x,y=map(int,input().split())
a = 0
if x==W/2 and y == H/2:
  a=1
print(W*H/2,a)

Solution (Python):
w, h, x, y = map(float, input().split())

s = w * h / 2
b = 1 if w == 2*x and h == 2*y else 0
print(s, b)

Solution (Python):

"""
import sys
read = sys.stdin.buffer.read 
readline = sys.stdin.buffer.readline 
readlines = sys.stdin.buffer.readlines 
sys.setrecursionlimit(10**7) 


n = readline().rstrip() 
lis = readline().rstrip().split() 


n = int(readline().rstrip()) 
a, b, c = map(int,readline().rstrip().split()) 
A = list(map(int,readline().rstrip().split()))  
lis = [readline().rstrip().split() for _ in range(n)] 
"""

import sys
readline = sys.stdin.buffer.readline
w,h,x,y=map(int,readline().rstrip().split())

if x==w/2 and y==h/2:print(w*h/2, 1)

else:print(w*h/2, 0)

Solution (Python):
import sys
input = sys.stdin.readline
 
 
W,H,x,y = map(int,input().split())
 
D=[0]
 
if x==W/2 and y==H/2:
    print(W*H/2,1)
else:
    print(W*H/2,0)

Solution (Python):
W,H,x,y=map(int,input().split())
S = (W*H)/2
if x == W/2 and y == H/2:
    print(S,1)
else:
    print(S,0)

Solution (Python):
w,h,x,y = map(int,input().split())

ans = w*h/2

if h/2 == y and w/2 == x:
    print(ans,1)
else:
    print(ans,0)

Solution (Python):
w, h, x, y = map(int,input().split())
s = w*h/2

if x == w/2 and y == h/2: 
    print(s, 1)
else:
    print(s, 0)

Solution (Python):
W,H,x,y=map(int,input().split())
area=W*H/2

    

    
ans=0
if W/2==x and H/2==y:
    ans=1
else:
    ans=0
print(area,ans)

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2,int(x==w/2 and y==h/2))

Solution (Python):
W, H, x, y = map(int, input().split())

area = W*H

if x == W/2 and y == H/2:
    print(area/2, 1)
else:
    print(area/2, 0)

Solution (Python):
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W, H, x, y = map(int, input().split())

if W/2 == x and H/2 == y:
    ans = 1
else:
    ans = 0
print(W*H/2, ans)

Solution (Python):
W,H,x,y=map(int,input().split())
print(W*H/2,int(W==2*x and H==2*y))

Solution (Python):
w,h,x,y = map(int,input().split())

if(x*2 == w and y*2 == h):
    print(w*h/2.0,1)
else:
    print(w*h/2.0,0)

Solution (Python):
w,h,x,y=map(int,input().split())

s=(w*h)/2
if w==2*x and h==2*y:
    print(s,1)
else:
    print(s,0)

Solution (Python):

w,h,x,y=map(int,input().split())

s=(w*h)/2
if w==2*x and h==2*y:
    print(s,1)
else:
    print(s,0)

Solution (Python):
W, H, x, y = [int(i) for i in input().split()]

square = W * H / 2

center_x = W / 2
center_y = H / 2

unique_flag = False

if center_x == x and center_y == y:
    unique_flag = True
    
if unique_flag:
    print(square, 1)
else :
    print(square, 0)

Solution (Python):
w,h,x,y = map(float, input().split())

s = w * h / 2
res = 1 if 2*x==w and 2*y==h else 0

print("{} {}".format(s, res))

Solution (Python):
w,h,x,y=map(int,input().split())
print(w*h/2,int(x==w/2 and y==h/2))

Solution (Python):
W, H, x, y = map(int, input().split())
check = 0

if x == W/2 and y == H/2:
  check = 1

print((W*H)/2, check)

Solution (Python):
W, H, x, y = map(int, input().split())
print(W*H/2, int(W==2*x and H==2*y))

Solution (Python):
w, h, x, y = map(int, input().split())
print(w*h/2, int(w == 2*x and h == 2*y))

Solution (Python):
W, H, x, y = list(map(int,input().split()))
judge = 0

area = float(W * H / 2)

"""
・図形を二等分する直線が二つ以上ある
・その二つの直線の中点が重なりそれが点(x,y)となる
この二つの条件を満たせば複数の分割法があると言える。
これを考えるとW,Hが偶数値で、x,yはそれぞれx = W/2, y = H/2でなくてはならない
"""
if W % 2 == 0 and H % 2 == 0:
  if x == int(W / 2) and y == int(H / 2):
    judge += 1

print(area, judge)

Solution (Python):
def do():
    w,h,x,y=map(int,input().split())
    ar=w*h
    if w/2==x and h/2==y:
        return "{} 1".format(ar/2)
    else:
        return "{} 0".format(ar/2)
print(do())

Solution (Python):
w,h,x,y = map(int,input().split())
area = w*h/2
if x == w/2 and y == h/2:
    ans2 = 1
else:
    ans2 = 0
print(area,ans2)

Solution (Python):
w, h, x, y = map(int, input().split())
m = 1 if x == w/2 and y == h/2 else 0
print(w*h/2, m)

Solution (Python):
w, h, x, y = map(int, input().split())
print(w * h / 2, 1 if x == w / 2 and y == h / 2 else 0)

Solution (Python):
W, H, x, y = map(int, input().split())

print(
  H * W / 2,
  1 if 2 * x == W and 2 * y == H else 0
)

Solution (Python):
w, h, x, y = map(int, input().split())


if x in [0, w] or y in [0, h]:
    print(w * h/2, 0)
else:
    if x * 2 == w and y * 2 == h:
        print(w * h / 2, 1)
    else:
        print(w * h/2, 0)

Solution (Python):
w,h,x,y = map(int,input().split())
print(w*h/2,int(w==2*x and h==2*y))

Solution (Python):
w,h,x,y=map(int,input().split())
if w/2==x and h/2==y:
	print(w*h/2,"1")
else:
	print(w*h/2,"0")

Solution (Python):
import sys
input=sys.stdin.readline
w,h,x,y=map(int,input().split())
cnt=w*h/2
bl = (2*x==w and 2*y==h)
t = 1 if bl else 0

print(cnt,t)

Solution (Python):
W,H,x,y=map(int, input().split())
a1=W*H/2
a2=1 if x*2==W and y*2==H else 0
print(a1,a2)

Solution (Python):
W,H,x,y = map(int,input().split())
print(H*W/2, int(W/2 == x and H/2 == y))

Solution (Python):
W,H,x,y = map(int,input().split())
print((H*W)/2, int(W/2 == x and H/2 == y))

Solution (Python):
W,H,x,y = map(int, input().split())

if (W%2==1) or (H%2==1):
    print((W*H)/2,"0")
elif (x == int(W/2)) and (y == int(H/2)):
    print((W*H)/2,"1")
else:
    print((W*H)/2,"0")

Solution (Python):
h,w,x,y=map(int, input().split())
print(h*w / 2, end = " ")
if(y+y==w and x+x == h):
    print(1)
else:
    print(0)

Solution (Python):
from sys import stdin
def main():
    
    readline=stdin.readline
    W,H,x,y=map(int,readline().split())

    if x==W/2 and y==H/2:
        print(W*H/2,1)
    else:
        print(W*H/2,0)
if __name__=="__main__":
    main()

Solution (Python):
w,h,x,y = map(int, input().split())
if (x,y) == (w/2, h/2): print(w*h/2, 1)
else: print(w*h/2, 0)

Solution (Python):
W,H,x,y=map(int,input().split())
if x==W/2 and y==H/2:
	c=1
else:
	c=0
print(W*H/2,c)

Solution (Python):
W,H,x,y=map(int, input().split())
ans1=H*W/2
if W%2==0 and H%2==0 and x==W//2 and y==H//2:
    ans2=1
else:
    ans2=0

print(ans1, ans2)

Solution (Python):
w,h,x,y = map(int,input().split())
if x == w/2 and y == h/2:
    print(w*h/2,1)
else:
    print(w*h/2,0)

Solution (Python):
W, H, x, y =  map(int,input().split())
print((H*W)/2, 1 if (x==W/2 and y==H/2) else 0)

Solution (Python):
W,H,x,y = map(int,input().split())
if W/2 == x and H/2 == y:
    ans = 1
else:
    ans = 0
print(H*W/2, ans)

Solution (Python):
h,w,x,y = map(int,input().split())
print((h*w)/2,int((h==2*x)and(w==2*y)))

Solution (Python):
W,H,x,y = map(int, input().split())
flg = 0
if 2*x==W and 2*y==H:
    flg = 1
res = [W*H/2, flg]
print(*res)

Solution (Python):
W, H, x, y = map(int, input().split())

S = W * H / 2

print (S, end = ' ')
if W == 2 * x and H == 2 * y:
    print (1)
else:
    print (0)

Solution (Python):
import sys

def solve():
    input = sys.stdin.readline
    W, H, x, y = map(int, input().split())
    if x * 2 == W and y * 2 == H: print(W * H / 2, 1)
    else: print(W * H / 2, 0)

    return 0

if __name__ == "__main__":
    solve()

Solution (Python):
w,h,x,y = map(int,input().split())
s=0
ans=0
if w==2*x and h==2*y:
    ans=1
s=(w*h)/2
print(s,ans)

Solution (Python):
w,h,x,y = map(int,input().split())
ar = w*h/2
cx,cy = w/2, h/2
if cx==x and cy==y:
    print(ar,1)
else:
    print(ar,0)

Solution (Python):

w,h,x,y = map(int,input().split())

if w / 2 == x and h / 2 == y:
    flg = True
else:
    flg = False

S = w * h / 2
    
if flg:
    print(S,1)
else:
    print(S,0)

Solution (Python):
w,h,x,y=map(int,input().split())
if x==w/2 and y==h/2:
  print(w*h/2,1)
else:
  print(w*h/2,0)

Solution (Python):
w,h,x,y =map(int,input().split())
if x==w/2 and y==h/2:
    print((w*h)/2,1)
else:
    print((w*h)/2,0)

Solution (Python):
w,h,x,y = map(int,input().split())
centet = (w/2,h/2)


if x == w/2 and y == h/2:
  print(w*h/2,1)
else:
  print(w*h/2,0)

Solution (Python):
import sys
from math import ceil, floor, sqrt, sin, cos, pi
from itertools import accumulate, permutations, combinations
from fractions import gcd 
from collections import deque, Counter
from operator import itemgetter
from heapq import heappop,heappush
sys.setrecursionlimit(10**7)
def lcm(x, y): return ((x * y) // gcd(x, y)) 






w, h, x, y = map(int, input().split())
s = (w * h) / 2
if w%2 == 0 and w//2 == x and h%2 == 0 and h//2 == y:
    print(s, '1')
else:
    print(s, '0')

Solution (Python):
W,H,x,y=map(int,input().split())

menseki=W*H
n=menseki/2

count=0
if x==W/2 and y==H/2:
  count=1

if count==0:
  print(n,0)
else:
  print(n,1)

Solution (Python):
w, h, x, y = map(int, input().split())
flag = 0
if w % 2 == 0 and h % 2 == 0:
    if x == w//2 and y == h//2:
        flag = 1
print(w*h/2, flag)

Solution (Python):
W,H,x,y = map(int, input().split())
print(W*H/2, 1 if W/2 == x and H/2 == y else 0)

Solution (Python):
def myAnswer(W:int,H:int,x:int,y:int) -> None:
   if(x+x==W and y + y == H):
      print(float(W)*float(H)/2,1)
   else:
      print(float(W)*float(H)/2,0)

def modelAnswer():
   return
def main():
   W,H,x,y = map(int,input().split())
   myAnswer(W,H,x,y)
if __name__ == '__main__':
   main()

Solution (Python):
W,H,x,y = map(int,input().split())

i = 0

if x == W/2 and y == H/2:
  i = 1
print(W*H/2,i)