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 = [int(_) for _ in input().split()]

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

print(f"{ans1} {ans2}")

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())
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, 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):
w,h,x,y=map(int,input().split())
cnt=0
if w/2 == x and h/2==y:
  cnt=1
print(w*h/2,cnt)

Solution (Python):
import sys
sys.setrecursionlimit(10**6)

w, h, x, y = 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):
import sys

read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 9)
INF = 1 << 60
MOD = 1000000007


def main():
    W, H, x, y = map(int, readline().split())

    ans = [W * H / 2]

    if W == 2 * x and H == 2 * y:
        ans.append(1)
    else:
        ans.append(0)

    print(*ans)
    return


if __name__ == '__main__':
    main()

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

if __name__ == '__main__':
    main()

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


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

Solution (Python):
w, h, x, y = list(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(float(w)*float(h)/2,1 if x+x == w and y+y == h else 0)

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

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

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

print(W * H / 2, num)

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

Solution (Python):


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

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

print(W * H / 2, num)

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

Solution (Python):
W, H, x, y = list(map(int,input().split()))
S = W * H
ans1 = S / 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())

t = w*h/2

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

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

s = w*h/2

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

print(s, t)

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

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

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

Solution (Python):
from decimal import Decimal

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

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

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

d = W * H / 2

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

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

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

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

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

Solution (Python):
def main():
    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)


if __name__ == "__main__":
    main()

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

    is_multi = (x == w/2) and (y == h/2)
    return "{:05f}".format(float((h * w)/2)), is_multi


if __name__ == '__main__':
    w, h, x, y = map(int, input().split())
    area, is_multi = solve(w, h, x, y)
    print(area, int(is_multi))

Solution (Python):
def main():
	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)


if __name__ == '__main__':
	main()

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

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

print(W*H / 2,R)

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

if __name__ == '__main__':
    main()

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

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

print(W*H/2, d)

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

mx=W*H/2
mul=0
if x==W/2 and y==H/2:
    mul=1

print(mx, mul)

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

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

Solution (Python):
def main():
    W, H, x, y = map(int, input().split())
    diff = 1e-5
    mid_W, mid_H = W / 2, H / 2
    if abs(x - mid_W) < diff and abs(y - mid_H) < diff:
        t = 1
    else:
        t = 0

    print(W*H/2, t)


if __name__ == '__main__':
    main()

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

Solution (Python):
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

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

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

Solution (Python):



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

s = w * h
s_min = s / 2


a = w / 2
b = h / 2

divide = 0

if x == a and y == b:
    divide = 1
    print(s_min, divide)
else:
    print(s_min, divide)

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







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

Solution (Python):
import sys

input = lambda: sys.stdin.readline().rstrip()


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

    area = W * H * 0.5
    res = 0
    if W % 2 == 0 and H % 2 == 0 and x == W // 2 and y == H // 2:
        res = 1

    print(area, res)


if __name__ == '__main__':
    solve()

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

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

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
input = sys.stdin.readline
W,H,x,y = (int(x) for x in input().split())
ans1 =0
ans2 =0
if W/2 ==x and H/2 ==y:
    ans2= 1
else:
    ans2 =0
ans1 =W *H/2
print(ans1,ans2)

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

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

Solution (Python):
import math

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

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

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

Solution (Python):
from sys import stdin, setrecursionlimit


def main():
    input = stdin.buffer.readline
    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)


if __name__ == "__main__":
    setrecursionlimit(10000)
    main()

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

S=(W*H)/2

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

print(S,f)

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

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

Solution (Python):
import fractions
import sys
from functools import reduce
import math

input = sys.stdin.readline

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

def divide_list(l, args):
    result = []
    pre = 0
    for i, a in enumerate(args):
        if i != 0:
            pre = args[i-1]
        result.append(l[pre:a])
        if i == len(args) - 1:
            result.append(l[a:])
    return result

def divide_two(n):
    c = 0
    while True:
        if c >= 2:
            break
        if n % 2 != 0:
            break
        n //= 2
        c += 1
    return c

def get_camulative(l):
    import itertools
    
    return [0] + list(itertools.accumulate(l))

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


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


def input_list_str():
    return list(map(str, input().split()))


def lcm_base(x, y):
    return (x * y) // fractions.gcd(x, y)


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


def gcd(*numbers):
    return reduce(fractions.gcd, numbers)


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


if __name__ == "__main__":
    main()

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

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

ans  = (w*h)/2

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

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

print(S, can)

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


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

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

print(ma,boo)

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
s=w*h
print(s/2,flag)

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

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

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

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

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(float(w) * float(h) / 2, 1 if (w == x + x) & (h == y + y) else 0)

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

Solution (Python):
from decimal import Decimal
W, H, x, y = map(int, input().split())
Wi = W * 10 ** 9
Hi = H * 10 ** 9
men = Decimal(W * H / 2)
judge = 0
if x == W / 2 and y == H / 2:
  judge = 1
print("{0:.10f} {1:.0f}".format(men, judge))

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

Solution (Python):
import sys
from functools import lru_cache, cmp_to_key
from heapq import merge, heapify, heappop, heappush
from math import *

from collections import defaultdict as dd, deque, Counter as C
from itertools import combinations as comb, permutations as perm
from bisect import bisect_left as bl, bisect_right as br, bisect
from time import perf_counter
from fractions import Fraction



mod = int(pow(10, 9) + 7)
mod2 = 998244353
def data(): return sys.stdin.readline().strip()
def out(*var, end="\n"): sys.stdout.write(' '.join(map(str, var))+end)
def l(): return list(sp())
def sl(): return list(ssp())
def sp(): return map(int, data().split())
def ssp(): return map(str, data().split())
def l1d(n, val=0): return [val for i in range(n)]
def l2d(n, m, val=0): return [l1d(n, val) for j in range(m)]








    


W,H,x,y=l()

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

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

print(w*h/2,b)

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

area = (w*h/2)
c = 0

if (x == w/2) and (y == h/2):
    c = 1

print(area,c)

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, int(W == 2 * x and H == 2 * y))

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

center = (W/2, H/2)

area = W*H

if (x, y) == center:
    print(area/2, 1)
else:
    print(area/2, 0)

Solution (Python):
def main():
    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)
    

if __name__ == "__main__":
    main()

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

area = W*H/2
center_x = W/2
center_y = H/2

if center_x == x and center_y == y:
    print(area, 1)
else:
    print(area, 0)

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


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

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

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

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

Solution (Python):
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())
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:
  ans = 1
else:
  ans = 0
print(W * H / 2, ans)

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

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

Solution (Python):


import sys

input = iter(sys.stdin.read().splitlines()).__next__

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

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

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

Solution (Python):
W,H,x,y = (int(a) for a in 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 W/2 == x and H/2 == y:
    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==w/2 and y==h/2:
    cnt=1
else:
    cnt=0
print(w*h/2, cnt)

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

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

print(S, f)

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

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

dou=0
if w/2==x and h/2==y:
  dou=1

print(w*h/2,dou)

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

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

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

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

print(ans2,ans1)

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

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

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

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):
W,H,x,y=map(int,input().split())
a1=W*H/2
a2=1 if x==W/2 and y==H/2 else 0
print(a1,a2)

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

pw = w/2
ph = h/2

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

Solution (Python):

def s0():return input()
def s1():return input().split()
def s2(n):return [input() for x in range(n)]
def s3(n):return [input().split() for _ in range(n)]
def s4(n):return [[x for x in s] for s in s2(n)]
def n0():return int(input())
def n1():return [int(x) for x in input().split()]
def n2(n):return [int(input()) for _ in range(n)]
def n3(n):return [[int(x) for x in input().split()] for _ in range(n)]
def t3(n):return [tuple(int(x) for x in input().split()) for _ in range(n)]
def p0(b,yes="Yes",no="No"): print(yes if b else no)








w,h,x,y=n1()

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

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

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


if __name__ == '__main__':
    main()

Solution (Python):
import sys
def input(): return sys.stdin.readline().strip()

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

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):
w,h,x,y=map(int,input().split())


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

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

w,h,x,y = intMap()

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

print("{:.10f} {}".format(s,multi))

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



def main():
    W, H, x, y = map(int, input().split())
    area = W * H / 2
    multi = int((x == W / 2) and (y == H / 2))

    print(area, multi)


if __name__ == '__main__':
    main()

Solution (Python):
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
 
def main():
    w, h, x, y = map(int, readline().split())
    ans = '{:.10f}'.format(w*h/2) 
    print(ans, end=' ')
    if (2*x == w) and (2*y == h):
        print(1)
    else:
        print(0)
if __name__ == '__main__':
    main()

Solution (Python):

import sys


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


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,int(x+x==w and y+y==h))

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

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

Solution (Python):
import os
import sys
from collections import defaultdict, Counter
from itertools import product, permutations,combinations, accumulate
from operator import itemgetter
from bisect import bisect_left,bisect
from heapq import heappop,heappush
from fractions import gcd
from math import ceil, floor, sqrt
from copy import deepcopy

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

if __name__ == "__main__":
    main()

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

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

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

print(W*H/2, is_one)

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

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

M = W*H

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

Solution (Python):


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

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

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

print(ans, route)

Solution (Python):
def getN():
    return int(input())
def getNM():
    return map(int, input().split())
def getList():
    return list(map(int, input().split()))
def getArray(intn):
    return [int(input()) for i in range(intn)]
def input():
    return sys.stdin.readline().rstrip()

from collections import defaultdict, deque, Counter
from sys import exit
import heapq
import math
import fractions
import copy
from itertools import permutations
from operator import mul
from functools import reduce
from bisect import bisect_left, bisect_right

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

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

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



S = W*H
ans = 0

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

print(S/2 , ans)

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

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

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

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

Solution (Python):






import sys
input = sys.stdin.readline

import math

import bisect
from collections import defaultdict
from collections import deque
from functools import lru_cache






MOD = 10**9+7
INF = float('inf')






def I(): return int(input().strip())
def S(): return input().strip()
def IL(): return list(map(int,input().split()))
def SL(): return list(map(str,input().split()))
def ILs(n): return list(int(input()) for _ in range(n))
def SLs(n): return list(input().strip() for _ in range(n))
def ILL(n): return [list(map(int, input().split())) for _ in range(n)]
def SLL(n): return [list(map(str, input().split())) for _ in range(n)]


def P(arg): print(arg); return
def Y(): print("Yes"); return
def N(): print("No"); return
def E(): exit()
def PE(arg): print(arg); exit()
def YE(): print("Yes"); exit()
def NE(): print("No"); exit()


def DD(arg): return defaultdict(arg)



def inv(n): return pow(n, MOD-2, MOD)


kaijo_memo = []
def kaijo(n):
  if(len(kaijo_memo) > n):
    return kaijo_memo[n]
  if(len(kaijo_memo) == 0):
    kaijo_memo.append(1)
  while(len(kaijo_memo) <= n):
    kaijo_memo.append(kaijo_memo[-1] * len(kaijo_memo) % MOD)
  return kaijo_memo[n]

gyaku_kaijo_memo = []
def gyaku_kaijo(n):
  if(len(gyaku_kaijo_memo) > n):
    return gyaku_kaijo_memo[n]
  if(len(gyaku_kaijo_memo) == 0):
    gyaku_kaijo_memo.append(1)
  while(len(gyaku_kaijo_memo) <= n):
    gyaku_kaijo_memo.append(gyaku_kaijo_memo[-1] * pow(len(gyaku_kaijo_memo),MOD-2,MOD) % MOD)
  return gyaku_kaijo_memo[n]

def nCr(n,r):
  if(n == r):
    return 1
  if(n < r or r < 0):
    return 0
  ret = 1
  ret = ret * kaijo(n) % MOD
  ret = ret * gyaku_kaijo(r) % MOD
  ret = ret * gyaku_kaijo(n-r) % MOD
  return ret


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 make_divisors(n):
  divisors = []
  for i in range(1, int(n**0.5)+1):
    if n % i == 0:
      divisors.append(i)
      if i != n // i: 
        divisors.append(n//i)
  return divisors


def gcd(a, b):
    while b:
        a, b = b, a % b
    return a


def lcm(a, b):
    return a * b // gcd (a, b)


def count_bit(n):
  count = 0
  while n:
    n &= n -1
    count += 1
  return count


def base_10_to_n(X, n):
  if X//n:
    return base_10_to_n(X//n, n)+[X%n]
  return [X%n]

def base_n_to_10(X, n):
  return sum(int(str(X)[-i])*n**i for i in range(len(str(X))))


def int_log(n, a):
  count = 0
  while n>=a:
    n //= a
    count += 1
  return count





W,H,x,y = IL()

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

Solution (Python):
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



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

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

Solution (Python):
from collections import Counter,defaultdict,deque
from heapq import heappop,heappush,heapify
from bisect import bisect_left,bisect_right 
import sys,math,itertools,fractions,pprint
sys.setrecursionlimit(10**8)
mod = 10**9+7
INF = float('inf')
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))

n,m,x,y = inpl()
res = 0
if n%2==0 and m%2==0 and n//2==x and m//2==y:
    res = 1
print((n*m)/2,res)

Solution (Python):
W, H, x, y = list(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()))
ans = str(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())
ans = w * h / 2
n = 1 if w == x * 2 and h == y * 2 else 0
print(ans, n)

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(x==W/2 and y==H/2))

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

quad = [[0,0],[W,0],[W,H],[0,H]] 
S = (quad[1][0]-quad[0][1]) * (quad[2][1]-quad[0][1])
ans = 0

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

print(S/2 , ans)

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


def readstr():
    return input().strip()


def readint():
    return int(input())


def readnums():
    return map(int, input().split())


def readstrs():
    return input().split()


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


if __name__ == "__main__":
    main()