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())
area = W*H/2

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

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

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

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

area = W * H / 2.

if 2 * x == W and 2 * y == H :
    var = '1'
else :
    var = '0'

print('{} {}'.format(area,var))

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

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

Solution (Python):




def solve():
    W, H, x, y = list(map(int, input().split()))
    flag = int(W / 2 == x and H / 2 == y)
    return 0.5 * W * H, flag


def main():
    ans = solve()
    print(ans[0], ans[1])


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):
import sys
def input():
    return sys.stdin.readline()[:-1]

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

    if W / 2 == X and H / 2 == Y:
        ans = [W * H/2, 1]
    else:
        ans = [W * H/2, 0]
    print(*ans)

if __name__ == '__main__':
    main()

Solution (Python):

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

if W==2*x 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 x == w/2 and y == h/2:
    print('{} 1'.format(ans))
else:
    print('{} 0'.format(ans))

Solution (Python):

import copy
import random
import bisect 
import fractions 
import math
import sys

mod = 10**9+7
sys.setrecursionlimit(mod) 

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

print(area,cnt)

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):
import sys
from collections import deque  
from collections import defaultdict  
from heapq import heapify, heappush, heappop, heappushpop  
from bisect import bisect_left, bisect_right  



s2nn = lambda s: [int(c) for c in s.split(' ')]
ss2nn = lambda ss: [int(s) for s in ss]
ss2nnn = lambda ss: [s2nn(s) for s in ss]
i2s = lambda: sys.stdin.readline().rstrip()
i2n = lambda: int(i2s())
i2nn = lambda: s2nn(i2s())
ii2ss = lambda n: [sys.stdin.readline().rstrip() for _ in range(n)]
ii2nn = lambda n: ss2nn(ii2ss(n))
ii2nnn = lambda n: ss2nnn(ii2ss(n))

def main():
    W, H, x, y = i2nn()
    m = W * H / 2
    n = 0
    if W == x * 2 and H == y * 2:
        n = 1
    print('%f %d' % (m, n))

main()

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())
s=w*h/2
a=0
if(x*2==w and y*2==h):
    a=1
print(s,a)

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

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

Solution (Python):
w, h, x, y = [int(item) for item in input().split()]
print(w*h/2.0, end=" ")
if x == w / 2.0 and y == h / 2.0:
    print(1)
else:
    print(0)

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

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

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

Solution (Python):
def main():
     a,b,x,y=map(int,input().split())
     if x==a/2 and y==b/2:
          print(a*b/2,1)
     else:
          print(a*b/2,0)
     
     
if __name__=='__main__':
     main()

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

Solution (Python):
import sys
sys.setrecursionlimit(10**7)
INF = 10 ** 18
MOD = 10 ** 9 + 7
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x) - 1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def II(): return int(sys.stdin.readline())
def SI(): return input()
from collections import defaultdict

w, h, x, y = LI()
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())
menseki=w*h*0.5
count=0
if x==w/2 and y==h/2:
    count=1
print("{} {}".format(menseki, count))

Solution (Python):


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

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

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 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 2*x == W and 2*y == H:
    ans = 1
else:
    ans = 0

print(W*H/2, ans)

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

Solution (Python):



def ri():
    return int(input())

def rl():
    return list(input().split())

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

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


if __name__ == '__main__':
    main()

Solution (Python):
W,H,x,y = (int(x) for x in input().split())
mid_div = float(W*H/2)

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

print(mid_div, way)

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

print(str(area)+" "+str(fukusu))

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

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

Solution (Python):

(W,H,x,y) = (int(i) for i in 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())

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

Solution (Python):

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

print(W*H/2,s)

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

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

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

print("{} {}".format(ans1,ans2))

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

center_y = H/2
center_x = W/2

area = W*H/2
flag = 0
if x == center_x and y == center_y:
    flag = 1
print("{} {}".format(area, flag))

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

ans = w * h / 2
multiple = 0
if x * 2 == w and y * 2 == h:
    multiple = 1

print("{} {}".format(ans, multiple))

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

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())
print(W * H / 2, 1 if W == 2 * x and H == 2 * y else 0)

Solution (Python):
def inverse(a):
    return pow(a, mod - 2, mod)


def usearch(x, a):
    lft = 0
    rgt = len(a) + 1
    while rgt - lft > 1:
        mid = (rgt + lft) // 2
        if a[mid] <= x:
            lft = mid
        else:
            rgt = mid
    return lft


def main():
    X,Y,x,y=map(int, input().split())
    ans = 1 if 2*x==X and 2*y==Y else 0
    print(X*Y/2, ans)


main()

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

Solution (Python):
w, h, x, y = [ int(v) for v in input().split() ]
s = (w*h)/2
p = 0
if x*2 == w and y*2 == h:
    p = 1
print(s,p)

Solution (Python):
w,h,x,y= [int(i) for i in input().split()]
print(w*h/2)
print(int(2*x==w and 2*y ==h))

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


if __name__ == '__main__':
    main()

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

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

menseki=w*h/2

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

print(menseki,hantei)

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

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

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

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

ans1 = float(W * H / 2)
ans2 = 0

if W == int(2*x) and H == int(2*y):
    ans2 = 1

print(ans1, ' ', ans2)

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



area = (W*H)/2
bl = (W == 2*x and H == 2*y)
t = 1 if bl else 0

print('{} {}'.format(area, t))

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

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

print(ans,ans2)

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

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())

ans1 = w * h / 2

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

print(ans1, ans2)

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

Solution (Python):
def getlist():
	return list(map(int, input().split()))

W, H, x, y = getlist()

S = W * H / 2
if x * 2 == W and y * 2 == H:
	j = 1
else:
	j = 0

print(S, j)

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(float(W * H / 2))
if x * 2 == W and y * 2 == H:
    print(1)
else:
    print(0)

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

Solution (Python):

import sys
INF = float("inf")


def solve(W: int, H: int, x: int, y: int):
    area = W*H/2.0
    if x == W/2 and y == H/2:
        print(area, 1)
    else:
        print(area, 0)
    return


def main():

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    W = int(next(tokens))  
    H = int(next(tokens))  
    x = int(next(tokens))  
    y = int(next(tokens))  
    solve(W, H, x, y)


if __name__ == '__main__':
    main()

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

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

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

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

print(ans,c)

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

if x*2 == W and y*2 == H:
    cnt = 1
else:
    cnt = 0

print(W*H/2, cnt)

Solution (Python):

w,h,x,y = map(int,input().split())
S =w*h/2
if x*2 ==w and y*2 ==h:
    s = 1
else:
    s = 0
print("{} {}".format(S,s))

Solution (Python):
import sys
import math 
ni = lambda: int(ns())
na = lambda: list(map(int, input().split()))
ns = lambda: input()

W,H,x,y = na()

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

Solution (Python):
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import permutations, combinations, product, accumulate
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from fractions import gcd

def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

W, H, x, y = MAP()


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())
area = w * h / 2
if x == w/2 and y == h/2:
    judge = 1
else:
    judge = 0
print(area, judge)

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

area = w * h / 2

if (x == w / 2) and (y == h / 2):
    multi = 1
else:
    multi = 0

print(area, multi)

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

score = W*H/2

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

print(score,flag)

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

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

ans1 = W*H/2

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

Solution (Python):
w, h, x, y = [int(a) for a in input().split()]
dup = (x == w/2) and (y == h/2)
s_dup = 1 if dup else 0

print(str(w * h / 2) + " " + str(s_dup))

Solution (Python):
def acinput():
    return list(map(int,input().split(" ")))


W,H,x,y=acinput()

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

print(res1,res2)

Solution (Python):


def main():
    w, h, x, y = map(int, raw_input().split())
    if w == x * 2 and h == y * 2:
        c = 1
    else:
        c = 0
    print w * h * 0.5, c


if __name__ == '__main__':
    main()

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

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 collections
import itertools

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

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

print(area, p)

Solution (Python):
import sys

inf = 10 ** 18

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):
nl = lambda: list(map(int, input().split()))
sl = lambda: input().split()
n = lambda: int(input())
s = lambda: input()

W, H, x, y = nl()

area = W*H/2
if W / 2 == x and H / 2 == y:
    print(str(area) + ' 1')
else:
    print(str(area) + ' 0')

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

Solution (Python):
def LI(): return list(map(int, input().split()))


w, h, x, y = LI()

is_multiple = int(w == 2*x and h == 2*y)

print(w*h/2, is_multiple)

Solution (Python):
def getN():
    return int(input())
def getNM():
    return map(int, input().split())
def getList():
    return list(map(int, input().split()))

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

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(h * w / 2, 1)
else:
    print(h * w / 2, 0)

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

mul = 1 if x == w / 2 and y == h / 2 else 0

print('{:.10f} {}'.format(w * h / 2, mul))

Solution (Python):

from collections import defaultdict
from collections import deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
def LI(): return list(map(int, sys.stdin.readline().split()))
def I(): return int(sys.stdin.readline())
def LS():return list(map(list, sys.stdin.readline().split()))
def S(): return list(sys.stdin.readline())[:-1]
def IR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = I()
    return l
def LIR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = LI()
    return l
def SR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = S()
    return l
def LSR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = LS()
    return l
sys.setrecursionlimit(1000000)
mod = 1000000007


def A():
    x,n = LI()
    if x < n:
        print(0)
    else:
        print(10)
    return


def B():
    n,x = LI()
    l = LI()
    d = 0
    ans = 1
    for i in range(n):
        d += l[i]
        if d <= x:
            ans += 1
    print(ans)
    return


def C():
    w,h,x,y = LI()
    ans = w*h/2
    k = 0
    if x == w/2 and y == h/2:
        k = 1
    print(ans,k)
    return


def D():
    n = I()

    return


def E():
    n = I()

    return


def F():
    n = I()

    return


if __name__ == "__main__":
    C()

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

print(W*H/2, int(x*2 == W and y*2 == H))

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

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

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

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

Solution (Python):
import collections as c
ip = lambda : map(int, input().split())

mod = 1e9+7
W,H,x,y = ip()
b = 0
if x == W/2 and y == H/2:
    b = 1
print(W*H/2, b)

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

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

Solution (Python):











import sys
input=sys.stdin.readline
from math import floor,ceil,sqrt,factorial,log 
from heapq import heappop, heappush, heappushpop
from collections import Counter,defaultdict
from itertools import accumulate,permutations,combinations,product,combinations_with_replacement
from bisect import bisect_left,bisect_right
inf=float('inf')
mod = 10**9+7
def INT_(n): return int(n)-1
def MI(): return map(int,input().split())
def MF(): return map(float, input().split())
def MI_(): return map(INT_,input().split())
def LI(): return list(MI())
def LI_(): return [int(x) - 1 for x in input().split()]
def LF(): return list(MF())
def LIN(n:int): return [I() for _ in range(n)]
def LLIN(n: int): return [LI() for _ in range(n)]
def LLIN_(n: int): return [LI_() for _ in range(n)]
def LLI(): return [list(map(int, l.split() )) for l in input()]
def I(): return int(input())
def F(): return float(input())
def ST(): return input().replace('\n', '')
def main():
    W, H, x, y = MI()
    ans = (W * H) / 2
    exist = int((W == x * 2) and (H == y * 2))
    print(ans,exist)
if __name__ == '__main__':
    main()

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

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

main()

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

Solution (Python):


from collections import deque
import itertools as ite
import sys
import math

sys.setrecursionlimit(1000000)

INF = 10 ** 18
MOD = 10 ** 9 + 7

W, H, x, y = map(int, raw_input().split())
flag = 0
if x * 2 == W and y * 2 == H:
    flag = 1
print float(W) * H / 2, flag

Solution (Python):
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,copy,functools

sys.setrecursionlimit(10**7)
inf = 10**20
eps = 1.0 / 10**10
mod = 998244353
dd = [(-1,0),(0,1),(1,0),(0,-1)]
ddn = [(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return list(map(int, sys.stdin.readline().split()))
def LLI(): return [list(map(int, l.split())) for l in sys.stdin.readlines()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def S(): return input()
def pf(s): return print(s, flush=True)
def pe(s): return print(str(s), file=sys.stderr)
def JA(a, sep): return sep.join(map(str, a))
def JAA(a, s, t): return s.join(t.join(map(str, b)) for b in a)

def main():
    w,h,x,y = LI()
    t = w * h / 2
    k = 0
    if w / 2 == x and h / 2 == y:
        k = 1

    return "{} {}".format(t,k)


print(main())

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())
if x*2 == W and y*2 == H:
	print(W*H/2, 1)
else:
	print(W*H/2, 0)

Solution (Python):


def main():
    width, high, x, y = map(int, input().split())
    

    ans = width * high / 2

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





if __name__ == '__main__':
    main()